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 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!

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

CNPJ alfanumérico Magento 2: módulo grátis com máscara e validação

Módulo gratuito Roger_CnpjAlfanumerico que aplica máscara e validação do novo CNPJ alfanumérico no checkout e formulários do Magento 2 e…

4 dias atrás

CNPJ alfanumérico no WooCommerce: plugin grátis de máscara e validação

A partir de 06/07/2026 a Receita passa a emitir CNPJ alfanumérico. Conheça o plugin grátis que aplica máscara e validação…

4 dias atrás

Como remover um modulo do Magento 2

Para remover um módulo do Magento 2, siga os passos abaixo: 1. Desabilitar o módulo Primeiro, desabilite o módulo usando…

1 ano atrás

Criar um memorando de crédito (cancelar) invoice no Magento 2

Para cancelar 100% do pedido e criar um crédito para todos os itens através da API REST do Magento 2,…

2 anos atrás

Consultando no banco quantidade disponivel para Venda (estoque)

No Magento 2, a quantidade "reservada" na "Salable Quantity" é gerenciada principalmente pelos módulos MSI (Multi-Source Inventory). A "Salable Quantity"…

2 anos atrás

Admin do Magento 2 não acessa

Como corrigir o erro ao acessar o Admin do Magento 2. Mesmo após fazer o login, permanece na tela de…

2 anos atrás