Ir para conteúdo

POWERED BY:

Arquivado

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

DANIEL ALVES BARBOSA

Validar cpf e cnpj

Recommended Posts

Gostaria de fazer uma rotina para validar cpf e cnpj automaticamente. Por enquanto estou so com a parte de logica.

 

 

Se x for um numero entao

 

teste se é um cnpj

 

Se não for cnpj,

 

Teste se é um cpf

 

Se nao for cnp nem cpf,

 

Escreva:

CPF OU CNPJ INVÁLIDO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay, e qual a dúvida ?

 

você pode filtrar, e ver se tem a qntidade de digitos para ser CNPJ ou CPF.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conseguir adiantar mas acho que falta normatizar o codigo.

 

<script language="javascript">

/*


Se x for um numero entao

teste se é um cnpj

Se não for cnpj,

Teste se é um cpf

Se nao for cnp nem cpf,

Escreva:
CPF OU CNPJ INVÁLIDO  */

//-----------------------------------------------------



function Cpfstart(){
var cpfcnpj = frmTeste.numero.value
if (isNaN(cpfcnpj)){


alert('Você não digitou um número')



} else {

//  alert('É um número!!')

function caracteres() {
cpjcnpj=document.form.campo.value.length;
if (numero == 11) {
//CPF

//-----------------------------------------------------------------------------------------------------



function mascara_cpf (campo,documento,f){
		var mydata = '';
		mydata = mydata + documento;

		if (mydata.length == 3){
			mydata   = mydata + '.';

			ct_campo = eval("document."+f+"."+campo+".value = mydata");
			ct_campo;
		}

		if (mydata.length == 7){
					mydata   = mydata + '.';

					ct_campo = eval("document."+f+"."+campo+".value = mydata");
					ct_campo;
		}

		if (mydata.length == 11){
			mydata 	  = mydata + '-';

			ct_campo1 = eval("document."+f+"."+campo+".value = mydata");
			ct_campo1;
		}

		if (mydata.length == 14){

			valida_cpf(f,campo);
		}

}




function valida_cpf(f,campo){

		pri = eval("document."+f+"."+campo+".value.substring(0,3)");
		seg = eval("document."+f+"."+campo+".value.substring(4,7)");
		ter = eval("document."+f+"."+campo+".value.substring(8,11)");
		qua = eval("document."+f+"."+campo+".value.substring(12,14)");

		var i;
		var numero;

		numero = (pri+seg+ter+qua);

		s = numero;
		c = s.substr(0,9);
		var dv = s.substr(9,2);
		var d1 = 0;

		for (i = 0; i < 9; i++){
			d1 += c.charAt(i)*(10-i);
		}

		if (d1 == 0){
			var result = "falso";
		}

		d1 = 11 - (d1 % 11);
		if (d1 > 9) d1 = 0;

		if (dv.charAt(0) != d1){
			var result = "falso";
		}

		d1 *= 2;
		for (i = 0; i < 9; i++){
			d1 += c.charAt(i)*(11-i);
		}

		d1 = 11 - (d1 % 11);
		if (d1 > 9) d1 = 0;

		if (dv.charAt(1) != d1){
			var result = "falso";
		}


		if (result == "falso") {
			alert("CPF inválido!");
			aux1 = eval("document."+f+"."+campo+".focus");
			aux2 = eval("document."+f+"."+campo+".value = ''");

		}
}




//--------------------------------------------------------------------------------------------------------


}
if (numero == 14) {
//CNPJ

//--------------------------------------------------------------------

function valida_cnpj(f,campo){

		pri = eval("document."+f+"."+campo+".value.substring(0,2)");
		seg = eval("document."+f+"."+campo+".value.substring(3,6)");
		ter = eval("document."+f+"."+campo+".value.substring(7,10)");
		qua = eval("document."+f+"."+campo+".value.substring(11,15)");
		qui = eval("document."+f+"."+campo+".value.substring(16,18)");

		var i;
		var numero;
		var situacao = '';

		numero = (pri+seg+ter+qua+qui);

		s = numero;


		c = s.substr(0,12);
		var dv = s.substr(12,2);
		var d1 = 0;

		for (i = 0; i < 12; i++){
			d1 += c.charAt(11-i)*(2+(i % 8));
		}

		if (d1 == 0){
			var result = "falso";
		}
			d1 = 11 - (d1 % 11);

		if (d1 > 9) d1 = 0;

			if (dv.charAt(0) != d1){
				var result = "falso";
			}

		d1 *= 2;
		for (i = 0; i < 12; i++){
			d1 += c.charAt(11-i)*(2+((i+1) % 8));
		}

		d1 = 11 - (d1 % 11);
		if (d1 > 9) d1 = 0;

			if (dv.charAt(1) != d1){
				var result = "falso";
			}


		if (result == "falso") {
			alert("CNPJ inválido!");
			aux1 = eval("document."+f+"."+campo+".focus");
			aux2 = eval("document."+f+"."+campo+".value = ''");
                      }
                      else 


}

}


//-------------------------------------------------------------------
}

if (numero !=14 or !11 {


alert('Você deve escolher apenas numeros de 11 digitos para cpf ou 14 digitos para cnpj')



 }
}

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja que ninguem ajudou conseguir fazer uma parte do processo

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
</head>

<body>

<script language="javascript">


//variavel er testa value
/*
LINKS DE REFERENCIA
http://www.mhavila.com.br/topicos/web/valform.html
http://andafter.org/blogs/odesenvolvedor/publicacoes/verifica-se-string-numro-no-javascript.html
http://guia-er.sourceforge.net/

http://guia-er.sourceforge.net/javascript.html#7_7
//BY ID INPUT POIS O MAGENTO NAO ACEITA NOME DO FORMULARIO
http://www.mhavila.com.br/topicos/web/cpf_cnpj.html


*/

function IsNumeric(numero)
{
var numero= document.getElementById("input").value;

var er = /^\d+$/;
if (er.test(numero)){
 alert("E NUMERO");
 contar (numero);} //CHAMAR A FUNCAO CONTAR NUMERO
 else{alert("NAO E NUMERO");}
}

//--------------CONTAR CARACTERES

function contar() {
var teste = document.getElementById("input").value.length;
switch (teste) {
case 14:
alert("cnpj");
break;
case 11:
alert("cpf");
break;
default:
alert("Numero Inálido Digite um número com 11 caracteres para CPF ou 14 para CNPJ.");
}
}

//------------------------------------

</script>

<form name="teste">
<input type="text" name="input" id="input" onblur="IsNumeric()" /><br />
<input name="Enviar" type="submit" value="Enviar" />
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não consegui entender a tua dúvida, ai fica impossível ajudar.

 

qual é o problema ?

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.