Validação de CPF usando PHP

Publicado por Jonas Resenes 16/09/2004

[ Hits: 10.291 ]

Download cpf.txt




Script feito em PHP para validar CPFs, muito util para sites que trabalham com cadastros.

  



Esconder código-fonte

<?
//VERIFICA SE O FORMULÁRIO FOI ENVIADO
if($_POST["verOK"]) {
 //RECEBE OS DADOS DO FORMULÁRIO
 $cpf = $_POST["cpf"];

 //VERIFICA SE O QUE FOI INFORMADO É NÚMERO
 if(!is_numeric($cpf)) {
  $status = false;
 }

 else {
  //VERIFICA
  if( ($cpf == '11111111111') || ($cpf == '22222222222') ||
   ($cpf == '33333333333') || ($cpf == '44444444444') ||
   ($cpf == '55555555555') || ($cpf == '66666666666') ||
   ($cpf == '77777777777') || ($cpf == '88888888888') ||
   ($cpf == '99999999999') || ($cpf == '00000000000') ) {
   $status = false;
  }

  else {
   //PEGA O DIGITO VERIFIACADOR
   $dv_informado = substr($cpf, 9,2);

   for($i=0; $i<=8; $i++) {
    $digito[$i] = substr($cpf, $i,1);
   }

   //CALCULA O VALOR DO 10º DIGITO DE VERIFICAÇÂO
   $posicao = 10;
   $soma = 0;

   for($i=0; $i<=8; $i++) {
    $soma = $soma + $digito[$i] * $posicao;
    $posicao = $posicao - 1;
   }

   $digito[9] = $soma % 11;

   if($digito[9] < 2) {
    $digito[9] = 0;
   }
   else {
    $digito[9] = 11 - $digito[9];
   }

   //CALCULA O VALOR DO 11º DIGITO DE VERIFICAÇÃO
   $posicao = 11;
   $soma = 0;

   for ($i=0; $i<=9; $i++) {
    $soma = $soma + $digito[$i] * $posicao;
    $posicao = $posicao - 1;
   }

   $digito[10] = $soma % 11;

   if ($digito[10] < 2) {
    $digito[10] = 0; 
   }
   else {
    $digito[10] = 11 - $digito[10];
   }

  //VERIFICA SE O DV CALCULADO É IGUAL AO INFORMADO
  $dv = $digito[9] * 10 + $digito[10];
  if ($dv != $dv_informado) {
   $status = false;
  }
  else
   $status = true;
  }//FECHA ELSE
}//FECHA ELSE(is_numeric)
}//FECHA IF($_POST)
?> 

<html>
<head>
<title>::.. 79º artigo PHP - iMasters</title>
</head>
<body bgcolor="#FFFFFF">
<h2>79º artigo PHP - iMasters</h2>
<form name="frm_cpf" action="<? echo $_SERVER["PHP_SELF"];?>" method="post">
CPF: <input type="text" name="cpf" maxlength="11">
<input type="submit" value="Validar CPF" name="btnValidar">
<input type="hidden" name="verOK" value="1">
</form>
<?
//VERIFICA O RESULTADO
if($_POST["verOK"]) {
 echo "<br><font face='Arial' size='2' color='#FF0000'><b>Resultado:</b></font><br><br>";
 if($status)
  echo "<b>O CPF $cpf é VERDADEIRO</b>";
 else
  echo "<b>O CPF $cpf é INVÁLIDO</b>";
}//FECHA IF
?>
</body>
</html> 

Scripts recomendados

Valor por extenso - PHP e ZF2

Cron - Classe PHP para cálculo da diferença entre duas datas

Mapeamento dinâmico de dados em PHP

Backup de arquivos na Cloud com AWS Amazon S3 e PHP

Função para converter datas


  

Comentários
[1] Comentário enviado por besk em 20/12/2004 - 19:01h

r0x

[2] Comentário enviado por thandra em 04/05/2006 - 11:34h

desculpe o comentário era para o outro artigo


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts