Testador de regex com padrões brasileiros

Teste uma regex em JavaScript contra o seu texto e veja os trechos encontrados, os grupos e o resultado da substituição. Há padrões prontos para CPF, CNPJ (inclusive o alfanumérico), CEP, telefone e placa Mercosul, para validar a máscara de um formulário ou extrair dados de log. Tudo roda no seu navegador.

Se você colar uma regex no formato /padrão/flags, as flags vão para os botões abaixo.

Flags

Cada linha é tratada como um valor à parte, como num campo de formulário. Assim ^ e $ valem para a linha, sem a flag m.

Digite uma regex

Escreva a regex e o texto, ou escolha um padrão brasileiro abaixo.

Padrões brasileiros

Escolha o documento, o formato e se quer validar um campo inteiro ou extrair de um texto. A regex aparece pronta para copiar ou testar aqui.

Documento
Pontuação
Uso
Regex do padrão^(?:\d{3}\.\d{3}\.\d{3}-\d{2}|\d{11})$Flags: -
O que este padrão não confere
  • Só o formato: o dígito verificador não é calculado pela regex. O selo nos resultados usa o mesmo cálculo do validador do site.

Precisa de valores para testar o padrão de CPF?

Abrir gerador de CPF

Regex para documentos brasileiros

Uma regex só confere se o texto tem o formato certo. CPF, CNPJ, CEP, telefone e placa têm formato bem definido, então cabem bem numa regex, mas o número ainda pode ser falso: o dígito verificador pede um cálculo que a regex não faz. Os padrões desta página servem para validar a máscara de um campo, com a regex cobrindo o valor inteiro, ou para extrair documentos de um log, achando cada um no meio do texto sem cortar um número maior.

O que cada padrão aceita

A tabela mostra o formato de cada padrão. A pontuação pode ser exigida, proibida ou opcional, e o formato muda conforme a variação escolhida.

DocumentoAceita
CPF000.000.000-00 ou 00000000000
CNPJ00.000.000/0000-00 ou 14 dígitos; no formato novo, letras maiúsculas e dígitos nas 12 primeiras posições
CEP00000-000 ou 00000000
Telefone(11) 91234-5678 ou 11912345678, com +55 opcional; fixo com 8 dígitos e celular antigo também
PlacaABC1D23 (Mercosul) e ABC-1234 (antiga)
PIS/PASEP000.00000.00-0 ou 11 dígitos
Datadd/mm/aaaa ou ddmmaaaa
Valor em reaisR$ 1.234,56 ou R$ 1234,56

Validar um campo ou extrair de um texto

Ao validar, a regex começa com ^ e termina com $, então o valor inteiro precisa casar, e um valor com uma quebra de linha sobrando é recusado porque o padrão não usa a flag m. Ao extrair, a regex usa a flag g e olha o que vem antes e depois: um CPF de 11 dígitos não é tirado do meio de um número de 13. Para testar uma lista de valores de uma vez, use o teste por linha.

É regex de JavaScript

O testador usa o motor de regex do seu navegador. Em Python, Java, PHP ou PCRE a sintaxe muda em alguns pontos: o grupo nomeado é (?P<nome>...) no Python, o Java pede barra dupla dentro de strings e alguns motores limitam o lookbehind. Os padrões brasileiros usam lookbehind na extração, então confira no seu motor antes de copiar.

Regex travada e privacidade

A regex roda em um Web Worker com limite de 2 segundos. Se passar disso, o worker é encerrado e a aba continua respondendo. O texto e a regex ficam só na memória do navegador: não vão para servidor, para o endereço da página, para as métricas de uso nem para o armazenamento local.

Perguntas sobreregex e documentos

Dúvidas comuns de quem valida formulários e extrai dados de logs no Brasil.