Oi, pessoal, tudo certo? Então, me parece que fiz o arquivo valida-cpf.js igual ao do vídeo, mas quando fiz o teste de trocar um dos números não aparece nenhum erro pra mim. Além disso, ele está deixando eu colocar até 14 dígitos sem problemas.
Alguém pode me ajudar identificando o erro, por favor? Não consegui sozinha.
export default function ehUmCpf(campo) {
//busca onde existem . e - e substitui por "" (nada)//
const cpf = campo.value.replace(/\.|-/g, "");
if (validaNumerosRepetidos(cpf) || validaPrimeiroDigito(cpf) || validaSegundoDigito(cpf)) {
campo.setCustomValidity('Esse CPF não é válido');
}
}
function validaNumerosRepetidos(cpf) {
const numerosRepetidos = [
'00000000000',
'11111111111',
'22222222222',
'33333333333',
'44444444444',
'55555555555',
'66666666666',
'77777777777',
'88888888888',
'99999999999'
]
return numerosRepetidos.includes(cpf);
}
function validaPrimeiroDigito(cpf) {
let soma = 0;
let multiplicador = 10;
for(let tamanho = 0; tamanho < 9; tamanho++) {
soma += cpf[tamanho] * multiplicador;
multiplicador --;
}
soma = (soma * 10) % 11;
if (soma == 10 || soma == 11) {
soma = 0;
}
return soma != cpf[9];
}
function validaSegundoDigito(cpf) {
let soma = 0;
let multiplicador = 11;
for(let tamanho = 0; tamanho < 10; tamanho++) {
soma += cpf[tamanho] * multiplicador;
multiplicador --;
}
soma = (soma * 10) % 11;
if (soma == 10 || soma == 11) {
soma = 0;
}
return soma != cpf[10];
}