|
Despois de encontrar no blog do Pedro Claudio e usar o validador de CPFs em FlashForms, precisei implementar também um validador de CNPJs.
Então segui o mesmo modelo do validador do Pedro e fiz o de CNPJ, vejamos o código:
<cfinput
type= "Text"
label= "CNPJ"
name= "cnpj"
size= "14"
maxlength= "14"
onBlur= "
var numeros = ';
var digitos = ';
var soma = ';
var i = ';
var resultado = ';
var pos = ';
var tamanho = ';
var digitos_iguais = 1;
var error = false;
var cnpj = _root.cnpj.text.split('.').join(').split('-').join(').split('/').join(').split(' ').join(');
if (cnpj.length < 14)
error = true;
if(!error)
{
for (i = 0; i < cnpj.length - 1; i++)
{
if (cnpj.charAt(i) != cnpj.charAt(i + 1))
{
digitos_iguais = 0;
break;
}
}
if (!digitos_iguais)
{
tamanho = cnpj.length - 2
numeros = cnpj.substring(0,tamanho);
digitos = cnpj.substring(tamanho);
soma = 0;
pos = tamanho - 7;
for (i = tamanho; i >= 1; i--)
{
soma += numeros.charAt(tamanho - i) * pos--;
if (pos < 2)
pos = 9;
}
resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
if (resultado != digitos.charAt(0))
error = true;
tamanho = tamanho + 1;
numeros = cnpj.substring(0,tamanho);
soma = 0;
pos = tamanho - 7;
for (i = tamanho; i >= 1; i--)
{
soma += numeros.charAt(tamanho - i) * pos--;
if (pos < 2)
pos = 9;
}
resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
if (resultado != digitos.charAt(1))
error = true;
else error = false;
}
else
error = true;
}
if(error) alert('CNPJ Inválido','Validação de CNPJ');"
>
O mérito desse tutorial e do código destino ao Pedro Claudio, que implementou o validador de CPF dessa forma sinistra acima. Valeu Pedro!
|