validarCPF static method
- dynamic numero
Função para validar CPF
Esta função recebe um número de CPF como parâmetro e verifica se ele é válido. O número de CPF pode ser passado como uma string ou um número. Retorna true se o CPF for válido e false caso contrário.
Implementation
static bool validarCPF(dynamic numero) {
try {
var text = "$numero".removeAny(["-", "."]);
if (numero is num) {
text = numero.floor().toString().padLeft(11, "0");
}
if (text.isNotNumber || text.length != 11) {
return false;
}
// Calcula o primeiro dígito verificador do CPF
int soma = 0;
for (int i = 0; i < 9; i++) {
soma += int.parse(text[i]) * (10 - i);
}
int primeiroDigito = 11 - (soma % 11);
if (primeiroDigito >= 10) primeiroDigito = 0;
if (primeiroDigito != int.parse(text[9])) {
return false;
}
// Calcula o segundo dígito verificador do CPF
soma = 0;
for (int i = 0; i < 10; i++) {
soma += int.parse(text[i]) * (11 - i);
}
int segundoDigito = 11 - (soma % 11);
if (segundoDigito >= 10) segundoDigito = 0;
return segundoDigito == int.parse(text[10]);
} catch (e) {
return false;
}
}