Voltar para o blog
ValidaçãoTelefone

Validar telefone: E.164, tipo de linha e portabilidade

Equipe AltiviaCloud · 6 de setembro de 2026 · 3 min de leitura

Quatro formas de escrever o mesmo número viram quatro registros. Por que validar por comprimento quebra e por que o prefixo não diz a operadora.

Guardar telefone parece o campo mais simples do cadastro. É um dos que mais dá trabalho depois, porque quase todo sistema começa guardando o que a pessoa digitou.

(11) 99999-8888, 11999998888, +55 11 99999-8888 e 011 99999 8888 são o mesmo telefone e quatro registros diferentes no seu banco.

Guarde em formato internacional

O formato E.164 é a saída: sinal de mais, código do país, número, sem espaço nem pontuação. +5511999998888.

Três motivos práticos.

Comparação funciona. Duplicado deixa de existir, porque só há uma forma de escrever cada número.

Integração aceita. Praticamente todo serviço de SMS e de voz espera E.164. Se você guarda formatado, converte a cada envio — e converte errado eventualmente.

Cliente estrangeiro deixa de ser problema. Uma base que guarda 99999-8888 sem país funciona até o primeiro cliente de fora, e aí não há como saber para onde ligar.

Formate na hora de exibir. Nunca na hora de gravar.

O nono dígito, e por que a regra não é "onze dígitos"

No Brasil, celular tem nove dígitos depois do DDD e começa com 9. Fixo tem oito.

O erro comum é validar por comprimento total: "onze dígitos, é celular". Isso quebra em fixo com DDD, quebra em número internacional, e quebra em qualquer país com plano de numeração diferente.

O certo é conferir contra o plano de numeração do país informado. Cada país tem regras de DDD válido, comprimento por tipo de linha e prefixos existentes. Uma expressão regular escrita à mão cobre o Brasil de hoje e falha na primeira mudança.

Tipo de linha decide o seu fluxo

Saber que o número é válido não basta. Você precisa saber se ele recebe SMS.

Fixo não recebe. Se o seu cadastro confirma por SMS e a pessoa digitou o telefone de casa, ela fica travada numa tela esperando um código que nunca chega — e o seu suporte recebe o chamado.

Celular recebe.

Virtual ou VoIP costuma receber, e é onde mora uma decisão de produto: aceitar ou não. Rejeitar reduz cadastro descartável e barra gente legítima que usa número virtual por privacidade. Depende do que está em jogo no seu serviço.

Saber o tipo antes de disparar evita pagar por mensagem que não tinha como chegar, e evita a tela travada.

Portabilidade quebra a suposição de operadora

No Brasil o número anda com a pessoa entre operadoras. Isso significa que o prefixo não identifica a operadora.

Se o seu sistema decide rota, preço ou provedor pelo prefixo, ele decide errado para todo número portado — e são muitos. A consulta precisa ser à base de portabilidade, não a uma tabela de prefixos que alguém montou em 2019.

Onde validar

No formulário, enquanto a pessoa digita. É onde vale mais, porque ela ainda pode corrigir.

Dois cuidados: não trave o envio se a validação demorar — deixe passar e marque para revisar depois. E não seja agressivo demais na hora: validar a cada tecla enquanto o número está incompleto mostra erro para quem está fazendo tudo certo.

Na entrada da API e na importação de planilha, que é onde mora a sujeira grande.

Em lote, antes de campanha. Base parada envelhece: gente troca de número, linha é desativada.

O que a validação não faz

Ela confirma que o número existe e pode receber. Não confirma que a pessoa que digitou é dona dele.

Para isso só existe um caminho: mandar um código e pedir que ela devolva. A validação reduz o custo desse envio — ela não substitui.

E é aqui que os dois lados se encontram: validar antes evita disparar para número que não recebe, e o disparo em si é o que prova a posse. Se você precisa receber esses códigos de forma automatizada, para testar o seu próprio fluxo, é o caso de um número virtual.