validarTelefone static method
- dynamic telefone
Valida um número de telefone.
Esta função verifica se um número de telefone é válido de acordo com as seguintes regras:
- Remove todos os caracteres não numéricos do número de telefone.
- Verifica se o número tem o tamanho correto (8 ou 9 dígitos locais + 0 ou 2 dígitos DDD).
- Se o número tem 10 ou 11 dígitos, verifica se os dois primeiros são um DDD válido.
Retorna true
se o número de telefone for válido, caso contrário retorna false
.
Implementation
static bool validarTelefone(dynamic telefone) {
try {
telefone = "$telefone";
String apenasNumeros = "$telefone".onlyNumbers;
if (apenasNumeros.length == 13 && apenasNumeros.startsWith("55")) {
apenasNumeros = apenasNumeros.removeFirst(2);
}
if (apenasNumeros.length < 8 || apenasNumeros.length > 11) {
return false;
}
if (apenasNumeros.length > 9) {
int ddd = int.parse(apenasNumeros.substring(0, 2));
if (ddd < 11 || ddd > 99) {
return false;
}
}
return true;
} catch (e) {
return false;
}
}