Pesquisar este blog

sábado, 11 de setembro de 2010

Função para validar CPF em PHP

/*
     Delphi-like function para converter string para inteiro
*/
function StrToInt($value){
  return (int)$value; } /*   Função para validar CPF.   Baseado na função validaCPF (Delphi) do PoliGestor da empresa Polidados Informática Ltda. */ function validaCPF($cpf){   $CPFInvalido = array ('00000000000', '11111111111', '22222222222', '33333333333', '44444444444',                         '55555555555', '66666666666', '77777777777', '88888888888', '99999999999');   $digitado = "";   $calculado = "";   $Result = false;   try {      // verifica CPF inválido      for ($i = 0; $i < 9; $i++)        if ($cpf == $CPFInvalido[$i])          return false;      if ($cpf != ''){        $n1 = StrToInt($cpf[0]);        $n2 = StrToInt($cpf[1]);        $n3 = StrToInt($cpf[2]);        $n4 = StrToInt($cpf[3]);        $n5 = StrToInt($cpf[4]);        $n6 = StrToInt($cpf[5]);        $n7 = StrToInt($cpf[6]);        $n8 = StrToInt($cpf[7]);        $n9 = StrToInt($cpf[8]);        $d1 = $n9*2+$n8*3+$n7*4+$n6*5+$n5*6+$n4*7+$n3*8+$n2*9+$n1*10;        $d1 = 11-($d1 % 11);        if ($d1>=10)           $d1 = 0;        $d2 = $d1*2+$n9*3+$n8*4+$n7*5+$n6*6+$n5*7+$n4*8+$n3*9+$n2*10+$n1*11;        $d2 = 11-($d2 % 11);        if ($d2>=10)          $d2 = 0;        $calculado = $d1 . $d2;        $digitado = $cpf[9] . $cpf[10];        return ($calculado == $digitado) ? true : false;      }   }   catch (Exception $e) {     $Result = false;   } } ?>

Nenhum comentário:

Postar um comentário