Válidar CPF em PHP


Códgio em PHP para validação de CPF

Acompanhado da validação de CPF execuada no front-end é muito importante ter a validação também em back-end, para que o sistema fique seguro e não haja meios para que um usuário consiga inserir um cpf inválido, já que usuários podem manipular ou até mesmo desativar o javascript do novegador e inserir qualquer sequência de caracteres no campo destinado ao CPF. A validação por javascript já foi ensinada em Validando um CPF com Java Script. Para entender melhor como é formado um CPF válido e o algoritmo utilizado, há a explicação detalhada em O que é um CPF válido e como é formado.

Código da função em PHP

<?php function verificar_cpf( $cpf_validar ) { // limpar caracteres como ponto e traços $cpf_validar = str_replace("-", "", $cpf_validar); $cpf_validar = str_replace(".", "", $cpf_validar); // verificar se a quantidade de caracteres está correta if ( strlen( $cpf_validar ) != 11 ) { return false; } // pegando apenas os digito a serem verificados $codigo = substr($cpf_validar, 0, 9); // cálculando o primeiro dígito $soma = 0; $numero_calculo = 10; for ($i=0; $i < 9; $i++) { $soma += ( $codigo[$i]*$numero_calculo-- ); } $resto = $soma%11; if($resto < 2) $codigo .= "0"; else $codigo .= (11-$resto); // calculando o segundo dígito $soma = 0; $numero_calculo = 11; for ($i=0; $i < 10; $i++) { $soma += ( $codigo[$i]*$numero_calculo-- ); } $resto = $soma%11; if($resto < 2) $codigo .= "0"; else $codigo .= (11-$resto); // Se forem os mesmos é porque está correto if ( $codigo === $cpf_validar ) { return true; } else { return false; } } ?>

Escrever um código para validar CPF é relativamente simples quando se possui o conhecimento da fórmula, o algoritimo, que é utilizado. Lembre-se, a melhor validação de CPF é aquela feita no front-end para que a experiência de usuário seja prática (UX) e também no back-end para que tenhamos certeza de que não passará nenhum CPF inválido. Espero que seja útil, abraços!

Mas caso proocure apenas uma maneira de gerar CPF's para efetuar validações em seu software, acesse: Gerador de CPF.

patrocinadores

Wilson Neto - Marketing Digital