Ir para conteúdo

POWERED BY:

Arquivado

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

ed_almeida78

Validação de CNPJ com CPF

Recommended Posts

Valeu pela dica porém preciso de um código que faça a verificação do CNPJ e CPF no mesmo campo e não em separado, tenho um campo text para a digitação destas informações e preciso que seja verificado no mesmo campo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela dica porém preciso de um código que faça a verificação do CNPJ e CPF no mesmo campo e não em separado, tenho um campo text para a digitação destas informações e preciso que seja verificado no mesmo campo.

Nunca vi algo assim, geralmente se separa os campos véio...

 

[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

hey eu tb tow precisando desse mesmo código em java script!!!!!!!!

eu consegui um navegando pela net, e encontrei, dei umas modificadas e talz, mas mesmo assim ainda continua dando uns erros de sintaxe, alguem poderia me ajudar????

 

 

vou postar aqui oque eu tenho:

 

 

1- As Funções de validação do CPF e CNPJ

<script language="JavaScript">var NUM_DIGITOS_CPF  = 11;var NUM_DIGITOS_CNPJ = 14;var NUM_DGT_CNPJ_BASE = 8;String.prototype.lpad = function(pSize, pCharPad){	var str = this;	var dif = pSize - str.length;	var ch = String(pCharPad).charAt(0);	for (; dif>0; dif--) str = ch + str;	return (str);} //String.lpadString.prototype.trim = function(){	return this.replace(/^\s*/, "").replace(/\s*$/, "");} //String.trimfunction unformatNumber(pNum){	return String(pNum).replace(/\D/g, "").replace(/^0+/, "");} //unformatNumberfunction formatCpfCnpj(pCpfCnpj, pUseSepar, pIsCnpj){	if (pIsCnpj==null) pIsCnpj = false;	if (pUseSepar==null) pUseSepar = true;	var maxDigitos = pIsCnpj? NUM_DIGITOS_CNPJ: NUM_DIGITOS_CPF;	var numero = unformatNumber(pCpfCnpj);	numero = numero.lpad(maxDigitos, '0');	if (!pUseSepar) return numero;	if (pIsCnpj)	{  reCnpj = /(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/;  numero = numero.replace(reCnpj, "$1.$2.$3/$4-$5");	}	else	{  reCpf  = /(\d{3})(\d{3})(\d{3})(\d{2})$/;  numero = numero.replace(reCpf, "$1.$2.$3-$4");	}	return numero;} //formatCpfCnpjfunction dvCpfCnpj(pEfetivo, pIsCnpj){	if (pIsCnpj==null) pIsCnpj = false;	var i, j, k, soma, dv;	var cicloPeso = pIsCnpj? NUM_DGT_CNPJ_BASE: NUM_DIGITOS_CPF;	var maxDigitos = pIsCnpj? NUM_DIGITOS_CNPJ: NUM_DIGITOS_CPF;	var calculado = formatCpfCnpj(pEfetivo, false, pIsCnpj);	calculado = calculado.substring(2, maxDigitos);	var result = "";	for(j = 1; j <= 2; j++)	{  k = 2;  soma = 0;  for (i = calculado.length-1; i >= 0; i--)  { 	 soma += (calculado.charAt(i) - '0') * k; 	 k = (k-1) % cicloPeso + 2;  }  dv = 11 - soma % 11;  if (dv > 9) dv = 0;  calculado += dv;  result += dv	}	return result;} //dvCpfCnpjfunction isCpf(pCpf){	var numero = formatCpfCnpj(pCpf, false, false);	var base = numero.substring(0, numero.length - 2);	var digitos = dvCpfCnpj(base, false);	var algUnico, i;	// Valida dígitos verificadores	if (numero != base + digitos) return false;	algUnico = true;	for (i=1; i<NUM_DIGITOS_CPF; i++)	{  algUnico = algUnico && (numero.charAt(i-1) == numero.charAt(i));	}	return (!algUnico);} //isCpffunction isCnpj(pCnpj){	var numero = formatCpfCnpj(pCnpj, false, true);	var base = numero.substring(0, NUM_DGT_CNPJ_BASE);	var ordem = numero.substring(NUM_DGT_CNPJ_BASE, 12);	var digitos = dvCpfCnpj(base + ordem, true);	var algUnico;	// Valida dígitos verificadores	if (numero != base + ordem + digitos) return false;	algUnico = numero.charAt(0) != '0';	for (i=1; i<NUM_DGT_CNPJ_BASE; i++)	{  algUnico = algUnico && (numero.charAt(i-1) == numero.charAt(i));	}	if (algUnico) return false;	if (ordem == "0000") return false;	return (base == "00000000"  || parseInt(ordem, 10) <= 300 || base.substring(0, 3) != "000");} //isCnpjfunction isCpfCnpj(pCpfCnpj){	var numero = pCpfCnpj.replace(/\D/g, "");	if (numero.length > NUM_DIGITOS_CPF)  return isCnpj(pCpfCnpj)	else  return isCpf(pCpfCnpj);} //isCpfCnpj</script>
2-Função Principal

 

<script  language="JavaScript">function doSubmit(pEvent, pForm){//ABRE var val = pForm.numero.value; var base = val.substring(0, val.length-2);  if(document.frmCpfCnpj.empresa.value == ""){//ABRE      alert("O campo Usuario/Empresa Precisa ser Preenchido!");      frmCpfCnpj.empresa.className = 'obrigatorio';      document.frmCpfCnpj.empresa.focus();        return false;   }//FECHA if (pForm.tipoCnpj.checked) //ABRE  alert("CNPJ"  // + "\nDesformatado = " + unformatNumber(val)  // + "\nFormatado = " + formatCpfCnpj(val, true, true)  // + "\nDVs = " + dvCpfCnpj(base, true)   + " = " + isCnpj(val));    else      if(pForm.tipoCpf.checked)     alert("CPF"  // + "\nDesformatado = " + unformatNumber(val)  // + "\nFormatado = " + formatCpfCnpj(val, true)  // + "\nDVs = " + dvCpfCnpj(base, false)      + " = " + isCpf(val));  pForm.numero.focus();     frmCpfCnpj.numero.className = 'obrigatorio';    if (document.frmCpfCnpj.numero.value == false ){     alert("VAZIO");  return false;  }else{  alert("CHEIO");  return true;  }}   //FECHA //FECHA        //doSubmit</script>

 

3 - O Formulario

<form  name="frmCpfCnpj"   id="frmCpfCnpj" action="redireciona_usuario.asp" method="post" onsubmit="return doSubmit(event, this)"><input type ="text"  name="empresa"><input type="radio" name="tipoCnpj"  value="CNPJ" /><input type="radio"name="tipoCpf"id="tipoCpf"value="CPF" />                                                                                                                                                                                                                                      <input type="text" name="numero"  size="25"  class="Campo"><input type=submit" value="entrar"></form>

 

Então tenho dois radios buttons, escolho qual tipo de documento quero validar e digito o numero no campo text , dae ele faz a validação.

 

 

O problema é que ele aceita qualquer numero, caractere especial ou nao no campo text, e nao está fazendo a validação =(

 

alguem sabe porke?

 

Desde já agradeço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse do CPF me ajudou muito, ele funciona direitinho, mas ainda tenho uma dúvida.Eu quero realmente que ele mostre a mensagem dizendo que tem algo errado no cpf, mas após a mensagem, eu gostaria que voltasse pro campo cpf e que apagasse o cpf digitado errado ...Tentei de várias formas mas não consegui.Aguardo uma resposta.

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.