Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Máscara CNPJ está aceitando letras

$
0
0

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)"/>

 


Viewing all articles
Browse latest Browse all 14190