/* Rotina simples, sem uso de função, que calcula o Número de Controle de qualquer CPF (Digito verificador) O dado deverá ser passado por método POST de um formulário específico. Autor: Julião Kaiser Data: 29/10/2006 */ // Recebe o CPF $cpf=$_POST[cpf]; // separa o principal do número de controle (NC) $principal=substr($cpf,0,9); // composto pelos 9 primeiro algarismo do CPF $dv=substr($cpf,9,2); // composto pelos 2 últimos algarismos // início da rotina para calcular o primeiro algarismo do NC $soma=0; for ($i=0, $j=10; $i<9;$i++, $j--){ $soma += ($principal[$i] * $j); } $resto = $soma % 11; if ($resto<2) $prim_dig=0; else $prim_dig=11 - $resto; $principal[9]=$prim_dig; // Fim da rotina do cálculo do primeiro algarismo do NC. // início da rotina para calcular o segundo algarismo do NC $soma=0; for($i=0, $j=11; $i<10; $i++,$j--){ $soma += ($principal[$i] * $j); } $resto=$soma % 11; if ($resto<2) $seg_dig=0; else $seg_dig= 11 - $resto; // Fim da rotina do cálculo do segundo algarismo do NC. // Concatena e compara o NC recebido com o calculado $dvf = $prim_dig; $dvf .= $seg_dig; // Informa se a informação passada foi correta. if ($dvf==$dv) echo "