Problema com máscara cpf/cnpj
Fala pessoal, blz, to usando um código pra mascarar tanto cpf quanto cnpj, acontece que no cnpj ele ta colocando 3 digitos no final ao invés de 2, tentei limitar com maxlength mas nao resolveu, então como não entendo muito de E.R queria pedir a ajuda de vcs com esse codigo, vlw desde já.
function mascaraMutuario(o,f){
v_obj=o;
v_fun=f;
setTimeout('execmascara()',1);
}
function execmascara(){
v_obj.value=v_fun(v_obj.value);
}
function cpfCnpj(v){
//Remove tudo o que não é dígito
v=v.replace(/\D/g,"");
if (v.length <= 14) { //CPF
//Coloca um ponto entre o terceiro e o quarto dígitos
v=v.replace(/(\d{3})(\d)/,"$1.$2");
//Coloca um ponto entre o terceiro e o quarto dígitos
//de novo (para o segundo bloco de números)
v=v.replace(/(\d{3})(\d)/,"$1.$2");
//Coloca um hífen entre o terceiro e o quarto dígitos
v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2");
} else { //CNPJ
//Coloca ponto entre o segundo e o terceiro dígitos
v=v.replace(/^(\d{2})(\d)/,"$1.$2");
//Coloca ponto entre o quinto e o sexto dígitos
v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3");
//Coloca uma barra entre o oitavo e o nono dígitos
v=v.replace(/\.(\d{3})(\d)/,".$1/$2");
//Coloca um hífen depois do bloco de quatro dígitos
v=v.replace(/(\d{4})(\d)/,"$1-$2");
}
return v;
}Discussão (1)
Carregando comentários...