Valida um CPF brasileiro verificando os dígitos verificadores.
function validarCPF(cpf) {
cpf = cpf.replace(/D/g, '');
if (cpf.length !== 11 || /^(d)1{10}$/.test(cpf)) return false;
const calcDigito = (cpf, len) => {
let soma = 0;
for (let i = 0; i < len; i++) soma += parseInt(cpf[i]) * (len + 1 - i);
const resto = (soma * 10) % 11;
return resto >= 10 ? 0 : resto;
};
return (
calcDigito(cpf, 9) === parseInt(cpf[9]) &&
calcDigito(cpf, 10) === parseInt(cpf[10])
);
}
// Uso:
console.log(validarCPF('529.982.247-25')); // true
console.log(validarCPF('111.111.111-11')); // false