Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite
estou com um problema
quando coloco um celular com 8 dígitos ele aplica a mascar corretamente, porem se eu apagar o campo para digitar novamente... ela não deixa eu colocar um celular com 9 dígitos
para digitar um celular com 9 dígitos eu tenho que recarregar a pagina
alguém pode me ajudar ????
//acrescenta à classe string um método necessário para facilitar
String.prototype.splice = function( idx, rem, s ) {
return (this.slice(0,idx) + s + this.slice(idx + Math.abs(rem)));
};
$(function(){
//máscara inicial com o nono digito opcional
$("#TEL01").mask('(99) 99999-9999');
//ao sair do campo, vamos atualizar a máscara
$("#TEL01").focusout(function(){
//pegando apenas os digitos
var cel = $("#TEL01").val().replace('-','').replace(/_/g,'');
cel = cel.replace('(','').replace(')','').replace(' ','');
//se tiver 8 digitos
if(cel.length == 10)
{
//vamos colocar o '-' no meio
cel = cel.splice(2, 0, ' ').splice(7, 0, '-');
//seta a máscara para aceitar o nono digito
$("#TEL01").mask('(99) 9999-9999');
}
//caso contrário
else if(cel.length == 11)
{
//deixamos 5 digitos na esquerda
cel = cel.splice(2, 0, ' ').splice(8, 0, '-');
//seta a máscara para aceitar um digito a menos (caso tenha digitado errado)
$("#TEL01").mask('(99) 99999-9999');
}
//põem o valor no campo
$(this).val(cel);
});
});Carregando comentários...