Brasil

Regex para telefone brasileiro com DDD

Números de telefone variam por país e por regra de apresentação. Comece definindo exatamente qual formato sua aplicação aceita.

Ideia central: Regex valida ou encontra padrões de texto. Quando houver regra de negócio, cálculo ou semântica, use código complementar em vez de forçar tudo para dentro da expressão.
EM 30 SEGUNDOS

O que você precisa decidir antes do padrão

Telefones brasileiros têm variações suficientes para exigir uma decisão de produto antes da Regex: DDD, nono dígito, espaços, parênteses e código do país.

Pense no problema antes de escrever Regex

Um padrão fica mais simples quando a regra já está clara. Para este caso, siga esta sequência:

  1. 01Liste os formatos que sua interface realmente aceitará.
  2. 02Evite um padrão permissivo demais que aceite combinações que o produto nunca gera.
  3. 03Normalize para somente dígitos antes de armazenar ou comparar números.

Celular no formato visual

^\(\d{2}\) \d{5}-\d{4}$

Esse padrão aceita (71) 99999-1234 e rejeita versões sem parênteses, espaço ou hífen.

Fixo ou celular

^\(\d{2}\) \d{4,5}-\d{4}$

{4,5} permite quatro ou cinco dígitos antes do hífen. Isso valida estrutura, não regras completas de numeração.

Normalize para integração

Quando o número será enviado para WhatsApp, SMS ou uma API, costuma ser melhor armazenar somente dígitos e aplicar a formatação apenas na apresentação.

Formato internacional

Se o produto atender vários países, evite tentar resolver todas as regras com uma única Regex. Considere bibliotecas de telefone que conheçam códigos de país e planos de numeração.

Como ler o padrão em partes

Em vez de memorizar a expressão inteira, leia cada bloco pela responsabilidade que ele cumpre:

\(?pode tornar o parêntese de abertura opcional quando a interface aceita formatos diferentes.
\d{2}representa o DDD.
9?pode representar uma variação opcional, mas só use se isso refletir sua regra real.
[-\s]?é uma técnica comum para aceitar separadores específicos de forma controlada.
QUANDO USAR

Onde Regex agrega valor aqui

Use para interface e higienização inicial. Em integrações, normalize para um formato canônico e aplique regras do país de forma explícita.

ARMADILHAS

Erros comuns

  • Criar uma Regex “universal” sem definir país e formatos aceitos.
  • Aceitar pontuação arbitrária em qualquer posição.
  • Usar o texto formatado como identificador permanente.
  • Esquecer números com código +55 quando o produto precisa deles.

Teste e pratique

Use o Playground para experimentar o padrão com seus próprios dados e depois leve o conceito para as fases do jogo, onde os casos positivos e negativos são avaliados automaticamente.

Praticar no jogoAbrir Playground

Continue aprendendo

← Voltar ao hub de Regex