Criando validação de CPF com PHP

Nessa vídeo aula aprenderemos a como criar uma validação de CPF utilizando PHP. Você pode utilizar a lógica da validação em outras linguagens também. Espero que gostem e boa aula.

    <?php
        function isCpf($cpf){
            $cpf         = preg_replace("/[^0-9]/", "", $cpf);
            $digitoUm     = 0;
            $digitoDois = 0;
            
            for($i = 0, $x = 10; $i <= 8; $i++, $x--){
                $digitoUm += $cpf[$i] * $x;
            }
            for($i = 0, $x = 11; $i <= 9; $i++, $x--){
                if(str_repeat($i, 11) == $cpf){
                    return false;
                }
                $digitoDois += $cpf[$i] * $x;
            }
            
            $calculoUm  = (($digitoUm%11) < 2) ? 0 : 11-($digitoUm%11);
            $calculoDois = (($digitoDois%11) < 2) ? 0 : 11-($digitoDois%11);
            if($calculoUm <> $cpf[9] || $calculoDois <> $cpf[10]){
                return false;
            }
            return true;
        }
    ?>



Se o conteúdo foi relevante para você, e desejar, você pode incentivar fazendo uma doação.

7 thoughts on “Criando validação de CPF com PHP

  1. Opa !
    Seu tutorial me ajudou DEMAIS, PORÉM, estou com um problema,
    consegui instala-lo mas acho que não está fazendo os cálculos, pois está “return true;” sempre independente do numero que coloco. Comprovei isso retirando o “return true;” aí ele dá todos os números inválidos. Poderia me ajudar como eu corrijo isso?

  2. Olá David, estou iniciando em php, gostaria de saber mais sobre e-commerce, você saberia me indica um bom livro de e-commerce que mostra com faz um site do zero e que seja bem estruturado e bem complexo.

    Se você sabe de algum me indique, que eu estou querendo aprende esse tipos de site.

    Obrigado. te mais

    1. Realmente não conhece nenhum livro dessa forma, mas um bom livro de PHP, é essa aqui:

      PHP Programando com Orientação a Objetos

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *