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);
});
});Perfeito!!!
Muito Obrigado.
só mais uma duvida, tem como fazer por class ao invés de ID ? para eu aplicar em todos os meus campos sem ter que repetir o código
Bem, vou lhe passar (de bandeja :natalw00t: ) o código para o seu plugin, que é o jQuery Masked Input:
$('input.telefone').focusin(function(){$(this).mask("(99) 99999999?9");});
$('input.telefone').focusout(function(){
var phone, element;
element = $(this);
element.unmask();
phone = element.val().replace(/\D/g, '');
if(phone.length > 10) {
element.mask("(99) 99999-999?9");
} else {
element.mask("(99) 9999-9999?9");
}
}).trigger('focusout');
Uso isso e funciona perfeitamente..
Alem disso, esse código é pequenino..
É isso ai man.. boa sorte ai..
Boa tarde, Paulo. Segue abaixo um código que vai te ajudar
O código não é de minha autoria. Ver modeloQualquer duvida manda um email para aula@webdre.com.br