[PHP ] Validando o CPF

$cpf = '264.786.667-86';
#$cpf = '26478666786';

preg_match('/([0-9]{3}).?([0-9]{3}).?([0-9]{3})-?([0-9]{2})/',$cpf,$resultado);

if($resultado !== false){
        $fator1=10;
        $fator2=11;
        $soma1=$soma2=0;

        for($i=1;$i<4;$i++){
                $aux=str_split($resultado[$i]);
                foreach($aux as $a){
                        $soma1=$soma1+$a*$fator1;
                        $fator1=$fator1-1;

                        $soma2=$soma2+$a*$fator2;
                        $fator2=$fator2-1;
                }
        }
        
        $digito1 = ($soma1%11>2) ?(11 - ($soma1%11)) : 0;
        
        $soma2=$soma2+($digito1*2);
        $digito2 = ($soma2%11>3) ? 11 - ($soma2%11) : 0;
        
        echo ($digito1 == $resultado[4][0] and $digito2 == $resultado[4][1]) ? "O CPF '.$cpf.' é válido!" : "O CPF '.$cpf.' é inválido!";
}

Fonte
iMasters – Thiago Prado

Anúncios

Um comentário em “[PHP ] Validando o CPF

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s