
Como adicionar uma máscara de telefone com até 9 dígitos em um campo utilizando apenas Javascript.
Você pode utilizar Plugins em jQuery para fazer isso, porém será que é necessário você incluir todo o jQuery + o Plugin para fazer um simples máscara de telefone?
Eu acho que não, por isso vamos utilizar apenas Javascript, nada de frameworks! Vamos ao código!
function mascaraTelefone( campo ) {
function trata( valor, isOnBlur ) {
valor = valor.replace(/\D/g,"");
valor = valor.replace(/^(\d{2})(\d)/g,"($1)$2");
if( isOnBlur ) {
valor = valor.replace(/(\d)(\d{4})$/,"$1-$2");
} else {
valor = valor.replace(/(\d)(\d{3})$/,"$1-$2");
}
return valor;
}
campo.onkeypress = function (evt) {
var code = (window.event)? window.event.keyCode : evt.which;
var valor = this.value
if(code > 57 || (code < 48 && code != 8 )) {
return false;
} else {
this.value = trata(valor, false);
}
}
campo.onblur = function() {
var valor = this.value;
if( valor.length < 13 ) {
this.value = ""
}else {
this.value = trata( this.value, true );
}
}
campo.maxLength = 14;
} Para aplicar a mascara em um campo devemos utilizar:
mascaraTelefone( document.getElementById('id_do_campo') ); Só altere o parâmetro id_do_campo de acordo com o ID do seu campo.
Site novo há semanas e nenhuma página indexada? Confira a caixinha de visibilidade em Leitura, o noindex no HTML e…
O retorno do array_map voltou com índice 0, 1, 2 e o código que dependia da chave quebrou. Entenda quando…
Dump de 12 GB que demora horas porque arrasta report_event e cron_schedule. Faça o backup em duas passadas, guarde só…
Escreveu a preference e o Magento 2 continua usando a classe original? Confira a área do di.xml, o generated/code e…
Cadastrou Cor direto na aba Atributos do produto e o filtro por atributo vem vazio. Veja como identificar o tipo,…
Precisa de um SELECT no banco do cliente e só tem SSH? O wp db query pega a senha do…
Ver comentários
Obrigado!
Olá amigo boa noite... estou testando esse script em um projeto e ta dando um bug... quando termino de preencher o campo com o numero, se caso eu tente adicionar mais um numero (mesmo alcançando o limite), o script faz o hífen mudar de lugar e o numero muda o formato de "(99)99999-9999" para "(99)999999-999".
Fora isso o script funciona perfeitamente... muito obrigado pelo post...