Brasil

Regex para CEP: 00000-000 e versão sem hífen

CEP é um ótimo exemplo para separar validação de formato de validação de existência: Regex confirma a estrutura, não que o endereço exista.

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

CEP é um ótimo caso para Regex porque a regra de formato é pequena: cinco dígitos, hífen opcional conforme sua interface e três dígitos finais.

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. 01Defina se o hífen será obrigatório ou opcional.
  2. 02Use âncoras para impedir letras ou números adicionais.
  3. 03Se aceitar formatos diferentes, normalize o valor antes de consultar APIs ou persistir.

CEP formatado

^\d{5}-\d{3}$

Exemplos: 41810-000 e 01310-100. O hífen é literal e não precisa de escape fora de uma classe.

Aceitar com ou sem hífen

^\d{5}-?\d{3}$

O ? torna o hífen opcional. Isso pode ser útil na entrada, mas prefira normalizar o valor antes de gravar.

Regex não confirma existência

99999-999 possui o formato correto, mas você ainda precisa consultar uma fonte de endereços quando o requisito for confirmar se o CEP existe.

Uso em formulário

No frontend, mostre a máscara sem obrigar o usuário a digitar pontuação manualmente. No backend, remova caracteres decorativos e valide os oito dígitos antes de consultar serviços externos.

Como ler o padrão em partes

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

\d{5}captura exatamente os cinco primeiros números.
-?quando usado, torna o hífen opcional sem duplicar todo o padrão.
\d{3}captura os três números finais.
^ ... $faz a expressão representar o campo inteiro.
QUANDO USAR

Onde Regex agrega valor aqui

É apropriado para formulário, máscara, limpeza de dados e busca textual. Para saber se o CEP existe, consulte uma fonte de endereços.

ARMADILHAS

Erros comuns

  • Aceitar qualquer sequência de oito dígitos sem pensar no formato apresentado ao usuário.
  • Confundir formato de CEP com confirmação de que o endereço existe.
  • Salvar versões com e sem hífen e depois comparar strings diretamente.

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