Ir para conteúdo
Fórum Script Brasil
  • 0

Validar Cpf


RAGE AGAINST THE MACHINE

Pergunta

2 respostass a esta questão

Posts Recomendados

  • 0

O que o John postou parece ser mais simples que este que estou postando.. a unica vantagem deste é que tem o CGC(CNPJ) juntos:

Crítica de CGC e CPF. 

<script LANGUAGE="JavaScript">

<!-- // para browsers sem suporte a java script

function check_cpf (StrCPF)
{
x = 0;
soma = 0;
dig1 = 0;
dig2 = 0;
texto = "";
StrCPF1="";
len = StrCPF.length;
x = len -1;
for (var i=0; i <= len - 3; i++)
{
y = StrCPF.substring(i,i+1);
soma = soma + ( y * x);
x = x - 1;
texto = texto + y;
}
dig1 = 11 - (soma % 11);
if (dig1 == 10) dig1=0;
if (dig1 == 11) dig1=0;
StrCPF1 = StrCPF.substring(0,len - 2) + dig1;
x = 11; soma=0;
for (var i=0; i <= len - 2; i++)
{
soma = soma + (StrCPF1.substring(i,i+1) * x);
x = x - 1;
}
dig2= 11 - (soma % 11);
if (dig2 == 10) dig2=0;
if (dig2 == 11) dig2=0;
if ((dig1 + "" + dig2) == StrCPF.substring(len,len-2))
{
// alert ("Número do CPF Válido !");
return true;
}
alert ("Número do CPF Inválido !");
document.form.cpfcgc.focus();
return false;
}


function check_cgc (StrCGC)
{
var varFirstChr = StrCGC.charAt(0);
var vlMult,vlControle,s1, s2 = "";
var i,j,vlDgito,vlSoma = 0;
for ( var i=0; i<=13; i++ ) {

var c = StrCGC.charAt(i);
if( ! (c>="0")&&(c<="9") )
{
alert("Número do CGC Inválido !");
document.form.cpfcgc.focus();
return false; }
if( c!=varFirstChr ) { vaCharCGC = true; }
}
if( ! vaCharCGC ) {

alert("Número do CGC Inválido !");
document.form.cpfcgc.focus();
return false;
}


s1 = StrCGC.substring(0,12);
s2 = StrCGC.substring(12,15);
vlMult = "543298765432";
vlControle = "";
for ( j=1; j<3; j++ ) {

vlSoma = 0;
for ( i=0; i<12; i++ )
{ vlSoma += eval( s1.charAt(i) )* eval( vlMult.charAt(i) );}
if( j == 2 ){ vlSoma += (2 * vlDgito); }
vlDgito = ((vlSoma*10) % 11);
if( vlDgito == 10 ){ vlDgito = 0; }
vlControle = vlControle + vlDgito;
vlMult = "654329876543";
}
if( vlControle != s2 ) {
alert("Número do CGC Inválido !");
document.form.cpfcgc.focus();
return false;
return false;
}
else {
// alert("Número do CGC Válido !");
return true;
}


}


function validaCGC_CPF() {

var StrData = document.form.cpfcgc.value;

var CGCPat = /^(\d{2}).(\d{3}).(\d{3})\/(\d{4})-(\d{2})/;
var CGCPat2 = /^(\d{14})/;
var CPFPat = /^(\d{3}).(\d{3}).(\d{3})-(\d{2})/;
var CPFPat2 = /^(\d{11})/;

var matchCGCArray = StrData.match(CGCPat);
var matchCGCArray2 = StrData.match(CGCPat2);
var matchCPFArray = StrData.match(CPFPat);
var matchCPFArray2 = StrData.match(CPFPat2);

if (matchCGCArray == null && matchCGCArray2 == null && matchCPFArray == null
&& matchCPFArray2 == null) {
cpfalert = 'O número do CPF deve ser informado incluindo-se os dois dígitos
verificadores. Não são necessários zeros à esquerda.\nExemplo:
000.000.000-00 ou 00000000000\n\n';
cgcalert = 'O número do CGC deve ser informado incluindo-se os 14 dígitos.
Não são necessários zeros à esquerda.\nExemplo: 00.000.000\/0000-00 ou
00000000000000';

alert('você deve fornecer um CGC ou um CPF valido\n\n' + cpfalert + cgcalert);

return false;
return false;
}
else if(matchCGCArray != null) {
StrData = matchCGCArray[1] + matchCGCArray[2] + matchCGCArray[3] +
matchCGCArray[4] + matchCGCArray[5];
check_cgc(StrData);
}
else if(matchCGCArray2 != null) {
StrData = matchCGCArray2[1];
check_cgc(StrData);
}
else if(matchCPFArray != null) {
StrData = matchCPFArray[1] + matchCPFArray[2] + matchCPFArray[3] +
matchCPFArray[4];
check_cpf(StrData);
}
else if(matchCPFArray2 != null) {
StrData = matchCPFArray2[1];
check_cpf(StrData);
}
return false;
}

//-->

</SCRIPT>

E no HTML
<input type="image" border="0" name="proximo" src="imagens/proximo.gif"
width="111" height="25" onClick=validaCGC_CPF()>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...