Regex brasileiros · Biblioteca de padrões

Regex de data brasileira (dd/mm/aaaa)

Regex para data no formato dd/mm/aaaa, com dia de 01 a 31 e mês de 01 a 12. Valida o intervalo, mas não os dias de cada mês nem ano bissexto.

O padrão

(?:0[1-9]|[12]\d|3[01])/(?:0[1-9]|1[0-2])/\d{4}

Flags: nenhuma. Sem âncoras: para validar um campo inteiro use ^(?:padrão)$.

Só o formato. Este regex confere a aparência do texto. Ele não prova que o dado existe nem que os dígitos verificadores estão certos. Para isso use Conversor de formato de data.

Teste na hora

Tudo roda no seu navegador; nada do que você digita é enviado.

Exemplos

Casam

  • 31/12/2026
  • 01/01/1900
  • 29/02/2024
  • 15/08/2030

Não casam

  • 32/01/2026
  • 00/10/2026
  • 15/13/2026
  • 1/1/2026
  • 2026-12-31

Como funciona, por partes

Armadilhas

Código pronto

JavaScript

const re = new RegExp("^(?:(?:0[1-9]|[12]\\d|3[01])/(?:0[1-9]|1[0-2])/\\d{4})$");
console.log(re.test(texto.trim()));

Python

import re

re_data_brasileira = re.compile(r"(?:0[1-9]|[12][0-9]|3[01])/(?:0[1-9]|1[0-2])/[0-9]{4}")
print(bool(re_data_brasileira.fullmatch(texto.strip())))

C#

using System.Text.RegularExpressions;

var re = new Regex(@"^(?:(?:0[1-9]|[12][0-9]|3[01])/(?:0[1-9]|1[0-2])/[0-9]{4})\z");
bool ok = re.IsMatch(texto.Trim());

Perguntas frequentes

Como validar também o ano bissexto?

Depois que o regex aprovar o formato, monte a data com Date.UTC (ano, mês menos um, dia) e compare se o dia e o mês da data resultante são os mesmos informados. Se mudaram, a data não existe, como 29/02 em ano que não é bissexto.

Dá para aceitar também o formato com hífen?

Dá. Troque a barra por [/-] nas duas posições. Se quiser forçar que o separador seja o mesmo nas duas, use um grupo de captura e a referência \1.

Por que não usar só o campo de data do HTML?

O campo date entrega o valor em AAAA-MM-DD e cuida do calendário, mas nem toda entrada vem de um formulário: planilhas, arquivos e textos colados chegam em dd/mm/aaaa, e é aí que este regex ajuda.

Ferramentas

← Ver todos os padrões