Como validar CPF em PHP
Valide o formato e os dígitos verificadores de um CPF em PHP sem depender apenas de expressão regular.
Remover máscara
$cpf = preg_replace('/\D/', '', $cpf);
Antes de calcular os dígitos, mantenha somente números.
Função completa
function validarCpf(string $cpf): bool
{
$cpf = preg_replace('/\D/', '', $cpf);
if (strlen($cpf) !== 11) {
return false;
}
if (preg_match('/^(\d)\1{10}$/', $cpf)) {
return false;
}
for ($t = 9; $t < 11; $t++) {
$soma = 0;
for ($i = 0; $i < $t; $i++) {
$soma += (int) $cpf[$i] * (($t + 1) - $i);
}
$digito = (10 * $soma) % 11;
$digito = $digito === 10 ? 0 : $digito;
if ((int) $cpf[$t] !== $digito) {
return false;
}
}
return true;
}
Uso
if (validarCpf('123.456.789-00')) {
echo 'CPF válido';
} else {
echo 'CPF inválido';
}
O que essa validação garante?
Importante: validar os dígitos verificadores confirma a consistência matemática do número. Isso não comprova que o CPF pertence a uma pessoa específica ou está ativo em um cadastro oficial.
Assuntos:CPFvalidaçãoBrasil