Por tarefa
Início rápido
A validação de CPF em uma função, sem bibliotecas:
PHP
function isValidCpf(string $cpf): bool {
$cpf = preg_replace('/\D/', '', $cpf);
if (strlen($cpf) !== 11 || preg_match('/^(\d)\1{10}$/', $cpf)) return false;
for ($i = 9; $i < 11; $i++) {
$soma = 0;
for ($j = 0; $j < $i; $j++) $soma += (int)$cpf[$j] * (($i + 1) - $j);
$dv = ($soma * 10 % 11) % 10;
if ($dv !== (int)$cpf[$i]) return false;
}
return true;
}Página completa, com a versão com máscara e os casos de borda: validar CPF em PHP.
publicidade
Prefere uma biblioteca?
Para projetos maiores, vale usar uma lib mantida: jamacio/document-validator (CPF, CNPJ e outros documentos brasileiros) ou as regras de respect/validation (v::cpf(), v::cnpj()). Confirme o suporte ao CNPJ alfanumérico na versão que você instalar — o código acima já está pronto para os dois formatos.
Continue
Código em PHP verificado por execução (6000 amostras, 0 erro). Algoritmo módulo 11 (numérico e alfanumérico, ASCII−48). Revisado em 06/2026.