Máscara CNPJ está aceitando letras
Encontrei este código para aplicar máscara de CNPJ (apenas a máscara, não a validação).
A máscara é criada no padrão "00.000.000/0000-00" mas infelizmente está aceitando letras também.
Essa é função que deveria permitir apenas números. Algo está errado nela e quero a ajuda dos colegas.
// ##### FUNÇÃO PERMITIR APENAS NÚMEROS #####
function onlyNumber(e)
{
var charCode = (e.which) ? e.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
Essa é a function que cria a máscara (está funcionando).
/////////////// FORMATA CAMPO CNPJ ///////////////////////////////
function FormataCnpj(campo, teclapres)
{
var tecla = teclapres.keyCode;
var vr = new String(campo.value);
vr = vr.replace(".", "");
vr = vr.replace("/", "");
vr = vr.replace("-", "");
tam = vr.length + 1;
if (tecla != 14)
{
if (tam == 3)
campo.value = vr.substr(0, 2) + '.';
if (tam == 6)
campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 5) + '.';
if (tam == 10)
campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(6, 3) + '/';
if (tam == 15)
campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(6, 3) + '/' + vr.substr(9, 4) + '-' + vr.substr(13, 2);
}
}
Chamo a function assim
>
<input type="text" onkeyup="FormataCnpj(this,event)"/>
Discussão (7)
Carregando comentários...