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:
- 01Liste os formatos que sua interface realmente aceitará.
- 02Evite um padrão permissivo demais que aceite combinações que o produto nunca gera.
- 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.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.
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.