• 0
Sign in to follow this  
RAGE AGAINST THE MACHINE

Validar Cpf

Question

2 answers to this question

Recommended Posts

  • 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()>

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this