Ir para conteúdo

POWERED BY:

Arquivado

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

Rodrigo Sartori

Validação de CNPJ

Recommended Posts

Olá pessoal!Na empresa que eu trabalho, montei o site todo em flash e quando fui inserir uma promoção, o diretor comercial pediu que não colocasse os preços. Pediu que colocasse os preços somente após uma validação de CNPJ.O que o cara quer é que o usuário preencha um campo de e-mail, telefone e CNPJ e ao clicar em ok ele faça aqueles cáculos de validação de CNPJ e se estiver válido envie por e-mail.Alguém sabe como fazer esta validação do CNPJ?Sei que tem pessoas que faz em ASP, mas como fazer em flash!!!!!!agradeço a ajuda.[]'sRodrigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade tem que ser um pouco mais sofisticado mesmo, pois se alguém digitar qualquer coisa, entra entendeu....É meio que para evitar que o concorrente tenha acesso aos nossos preços sem se identificar......mais ou menos isto...[]'sRodrigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não Lucas, não é isto não.Esta validação é somente um cálculo que é feito para verificar se o número colocado é válido.Vou tentar explicar mais ou menos como funciona com o de CPF:Por exemplo:012345678-970 x um número1 x um número2 x um número3 x um número4 x um número5 x um número6 x um número7 x um número8 x um númeroA soma destes resultados é igual ao dígito verificador que neste exemplo é: 97Se esta soma está correta e CPF existe. Deu pra entender?E no meu caso se o CNPJ existe (válido) vai para.....Até mais...[]'sRodrigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

Consegui este cód. aqui, mas está em javascript.

 

como posso fazer para adaptá-lo em AS?

 

<script language="Javascript">	function validaCNPJ() {		CNPJ = document.validacao.CNPJID.value;		erro = new String;		if (CNPJ.length < 18) erro += "E' necessarios preencher corretamente o numero do CNPJ! \n\n";		if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){			if (erro.length == 0) erro += "E' necessarios preencher corretamente o numero do CNPJ! \n\n";		}		//substituir os caracteres que nao sao numeros		if(document.layers && parseInt(navigator.appVersion) == 4){			x = CNPJ.substring(0,2);			x += CNPJ.substring(3,6);			x += CNPJ.substring(7,10);			x += CNPJ.substring(11,15);			x += CNPJ.substring(16,18);			CNPJ = x;			} else {			CNPJ = CNPJ.replace(".","");			CNPJ = CNPJ.replace(".","");			CNPJ = CNPJ.replace("-","");			CNPJ = CNPJ.replace("/","");		}		var nonNumbers = /\D/;		if (nonNumbers.test(CNPJ)) erro += "A verificacao de CNPJ suporta apenas numeros! \n\n";			var a = [];		var b = new Number;		var 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])){			erro +="Digito verificador com problema!";		}		if (erro.length > 0){			alert(erro);			return false;		} else {			alert("CNPJ valido!");		}		return true;	}</script>

Pra mim é phoda pra entender, mas tem algumas passoas que se dão bem com lógica e programação.

 

[]'s

Rodrigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae pessoal do flash.

 

Tava buscando sobre validação de cnpj e achei este tópico aqui.

 

A função acima funciona. Dei uma melhorada nela e pus pra funcionar. Da forma que está abaixo acho que funciona perfeitamente no ActionScript pois a sintaxe é a (quase) a mesma do C (assim como javascript).

 

Se não for, são só algumas pequenas correções que vcs podem fazer e incorporar aqui. Aproveitei e inclui a validação do cpf também.

Toma aí uma pequena ajuda pra quem precisar:

 

function valInt(str){	//retira tudo nao numérico da string	var retorno="";	for(var i=0;i<str.length;i++){		if(!isNaN(str.charAt(i))){retorno = retorno + str.charAt(i);}	}	return retorno}function checaCpf (CPF) {	//Verifica se o cpf é válido	var i;	CPF = valInt(CPF)  if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||	   CPF == "22222222222" || CPF == "33333333333" || CPF == "44444444444" ||	   CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||	   CPF == "88888888888" || CPF == "99999999999"){ 		 return false;  }  soma = 0;  for (i=0; i < 9; i ++){	soma += parseInt(CPF.charAt(i)) * (10 - i); }  resto = 11 - (soma % 11);  if (resto == 10 || resto == 11) { resto = 0; }  if (resto != parseInt(CPF.charAt(9))){ return false; }  soma = 0;  for (i = 0; i < 10; i ++){ soma += parseInt(CPF.charAt(i)) * (11 - i); }  resto = 11 - (soma % 11);  if (resto == 10 || resto == 11){ resto = 0; }  if (resto != parseInt(CPF.charAt(10))){ return false;}  return true;//chegou até o final sem sair}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;  }else{	  return true;	}}

Pode ser que tenham problemas só com o parseInt e com o isNaN, que eu não tenho certeza se existem essas funções no AS. Mas se tiver correção nisso, creio que será pequena.

 

Té mais...

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.