Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lmsbxt

validação de cnpj

Recommended Posts

fala galera, to querendo um código pra validação de cnpj...num achei nada funcional na busca..só algumas dicas..daí peguei esse código que tá em js, tentei mudar pra as mas num consegui, será que alguém consegue?

function checaCnpj(cnpj) {	//Verifica se o cnpj é válido	var i, x, a = [], b = 0, c = [];	cnpj = valInt(cnpj);	c = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];	for (i=0; i<12; i++) {		a[i] = cnpj.charAt(i);		b += a[i]*c[i+1];	}	if ((x=b%11)<2) {		a[12] = 0;	} else {		a[12] = 11-x;	}	b = 0;	for (y=0; y<13; y++) {		b += (a[y]*c[y]);	}	if ((x=b%11)<2) {		a[13] = 0;	} else {		a[13] = 11-x;	}	if ((cnpj.charAt(12) != a[12]) || (cnpj.charAt(13) != a[13])) {		//return false;		trace("errado");	} else {		//return true;		trace("certo");	}}
valeew

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí, troquei as declarações de variáveis, o nome delas também (x e y poderia confundir com propriedades de posição), e mais umas funções que não tem no AS.

 

function checaCnpj(cnpj:String) {	//Verifica se o cnpj é válido	var a = Array();	var b = 0;	var c = Array(6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2);	for (i = 0; i < 12; i++) {		a[i] = Number(cnpj.charAt(i));		b += a[i] * c[i + 1];	}	if ((d = b % 11) < 2) {		a[12] = 0;	} else {		a[12] = 11 - d;	}	var b = 0;	for (e = 0; e < 13; e++) {		b += (a[e] * c[e]);	}	if ((d = b % 11) < 2) {		a[13] = 0;	} else {		a[13] = 11 - d;	}	if ((cnpj.charAt(12) != a[12]) || (cnpj.charAt(13) != a[13])) {		//return false;		trace("errado");	} else {		//return true;		trace("certo");	}}

Gostei da função, hehe.

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

grande antoniosp...mas então cara, ta com problema ainda, quando chamo a função ele só me retorna "errado" mesmo com o cnpj estando certo...será que esse codigo está errado eu é problema de sintaxe ainda?abraço..

Compartilhar este post


Link para o post
Compartilhar em outros sites

putz..num deu não...onde será que to fazendo cagada, criei um campo de texto com o nome de "cnpj" e um botão pra chamar a funçao..checaCnpj();

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função checaCnpj necessita de um parâmetro, o cnpj em string. Quando você chama ela, está fazendo assim: checaCnpj(); e só! Falta o número do cnpj alí. Então acho melhor você instanciar o campo de cnpj_txt e chamar a função assim: checaCnpj(cnpj_txt.text);Ok? Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.