/**********************************************************
Rotina em php para validação e formatãção cpf
criada por André Dalloul - 14/03/2007
**********************************************************/
$cpf_ = $_POST["cpf"];
$cpf = preg_replace( "@[./-]@", "", $cpf_ );
$nulos = array("12345678909","11111111111","22222222222","33333333333",
"44444444444","55555555555","66666666666","77777777777",
"88888888888","99999999999","00000000000");
if((in_array($cpf, $nulos))){
echo "
CPF inválido
";
echo $form;
exit;
}elseif(!is_numeric($cpf) && $cpf != ""){
echo "Somente Números no Campo CPF
";
echo $form;
exit;
}else{
for ($i=0; $i<11; $i++) {
$cpf_temp[$i]=$cpf[$i];
}
$acum=0;
for ($i=0; $i<9; $i++){
$acum=$acum+($cpf[$i]*(10-$i));
}
$x=$acum;
$x %= 11;
if ($x>1)
$acum = 11 - $x;
else
$acum = 0;
$cpf_temp[9]=$acum;
/* Calcula o último dígito verificador*/
$acum=0;
for ($i=0; $i<10; $i++) {
$acum=$acum+($cpf_temp[$i]*(11-$i));
}
$x=$acum;
$x%=11;
if ($x>1)
$acum=11-$x;
else
$acum=0;
$cpf_temp[10]=$acum;
for ($i=0; $i<11; $i++) {
if ($cpf[$i] != $cpf_temp[$i]) {
echo "CPF inválido
";
echo $form;
exit;
$i=10;
$z=1;
}}}
?>