Javascript

Mascara de Telefone com até 9 dígitos utilizando Javascript

Como adicionar uma máscara de telefone com até 9 dígitos em um campo utilizando apenas .

Você pode utilizar Plugins em para fazer isso, porém será que é necessário você incluir todo o jQuery + o 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!

Funções para Máscara de Telefone com até 9 dígitos

 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.

Ver comentários

  • 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...

Post Recentes

Por que devo sempre manter o Magento 2 atualizado?

Segurança: Atualizações frequentes geralmente incluem patches de segurança para corrigir vulnerabilidades identificadas. Ao manter o Magento atualizado, você reduz significativamente…

1 mês atrás

Adicionar uma mensagem de Alerta ou Aviso do Admin do Magento 2

Como adicionar uma mensagem de Alerta ou Aviso do Admin do Magento 2 Injete o Magento\Framework\Message\ManagerInterface no construtor da sua…

1 mês atrás

Exibir mensagens erro/sucesso da Classe: Magento\Framework\Message\ManagerInterface

Para exibir as mensagens adicionadas na classe Magento\Framework\Message\ManagerInterface em um arquivo .phtml, você pode usar o seguinte código: <?php $objectManager…

1 mês atrás

Exportar as categorias do Magento 2 em um XML

Para criar um script no Magento 2 que exporte as categorias para um arquivo XML com o nome da categoria,…

2 meses atrás

Colocar um video como Background utilizando HTML + CSS

Para definir um vídeo MP4 como plano de fundo em um <div> usando HTML e CSS, você pode seguir estas…

4 meses atrás

Desativar o “lastname” no Magento 2

Como desativar o "lastname" no Magento 2 e Adobe Commerce Desativando a obrigatoriedade do campo Execute a SQL abaixo diretamente…

4 meses atrás