Validação em JS

5 respostas
oliveirarenan

Pessoal, alguém tem alguma função em JavaScript para validar os dois ultimos números do CNPJ?

Valeuzzz

:lol: :lol: :lol: :lol:

5 Respostas

_fs

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.

oliveirarenan

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…

rodrigo_gomes

http://www.imasters.com.br/artigo.php?cn=2451&cc=78

http://www.google.com.br/search?hl=pt-BR&q=validar+cnpj+javascript&btnG=Pesquisa+Google&meta=lr%3Dlang_pt

Rafael_Steil

No GUJ mesmo tem uns 37 topicos sobre validacao de CNPJ.

Rafael

plentz

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; }

e etc…

Criado 27 de abril de 2005
Ultima resposta 27 de abr. de 2005
Respostas 5
Participantes 5