Pessoal, alguém tem alguma função em JavaScript para validar os dois ultimos números do CNPJ?
Valeuzzz
:lol: :lol: :lol: :lol:
Pessoal, alguém tem alguma função em JavaScript para validar os dois ultimos números do CNPJ?
Valeuzzz
:lol: :lol: :lol: :lol:
Tem essa coisa velha aqui:
function checkCpf( cpf )
{
if( cpf == '[CPF removido]' || cpf == '[CPF removido]' )
return false;
var algarismos = cpf.substring( 0, cpf.indexOf( '-' ) ).replace( '.', '' ).replace( '.', '' );
var verifiers = cpf.substring( cpf.indexOf( '-' ) + 1 ).split( '' );
if( check( algarismos, verifiers, 0 ) )
return check( algarismos += verifiers[ 0 ], verifiers, 1 );
}
function check( algarismos, verifiers, index )
{
var sum = 0;
var multipliers = 10 + index;
for( var i = 0; i < multipliers - 1; i++ )
sum += parseInt( algarismos[ i ] ) * ( multipliers - i );
remaining = sum % 11;
if( remaining < 2 )
sum = 0;
else
sum = 11 - remaining;
if( sum == verifiers[ index ] )
return true
return false;
}
Recebe um cpf com mascara como parametro e retorna true ou false se for válido ou não.
Lipe, na verdade é um CNPJ e naum um CPF…mas a lógica deve ser a mesma.
Só que a formatação de um cnpj é ‘##.###.###/####-##’
Um pouco diferente…
Mas como seria minha chamada no campo?
Então, eu já tenho uma função com a mascara…só queria uma para validar os dois ultimos digitos.
falow…
No GUJ mesmo tem uns 37 topicos sobre validacao de CNPJ.
Rafael
String.prototype.isCNPJ = function(){
var d = this.split("");
var m1 = [d[0]*5,d[1]*4,d[2]*3,d[3]*2,d[4]*9,d[5]*8,d[6]*7,d[7]*6,d[8]*5,d[9]*4,d[10]*3,d[11]*2];
var s1 = 0;
for(i in m1){ s1 += m1[i]; }
var d1 = (s1%11<2)?0:11-(s1%11);
var m2 = [d[0]*6,d[1]*5,d[2]*4,d[3]*3,d[4]*2,d[5]*9,d[6]*8,d[7]*7,d[8]*6,d[9]*5,d[10]*4,d[11]*3,d1*2];
var s2 = 0;
for(i in m2){ s2 += m2[i]; }
var d2 = (s2%11<2)?0:11-(s2%11);
return (d1 == d[12] && d2 == d[13])? true: false;
}