Regex für Datum (TT/MM/JJJJ)

Verwende /^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/, um zu prüfen, ob ein ganzer String ein gültiges Datum (TT/MM/JJJJ) ist. Jedes Beispiel unten wurde gegen das Muster getestet, und du kannst es mit den vorgeladenen Beispielen im Regex Tester öffnen.

Aktualisiert am

/^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/
Im Regex Tester öffnen
EingabeErgebnis
30/10/2026✓ Treffer
01/12/2000✓ Treffer
31/01/1999✓ Treffer
10/30/2026✗ Kein Treffer
1/5/2026✗ Kein Treffer
30-10-2026✗ Kein Treffer
32/01/2026✗ Kein Treffer

So funktioniert das Muster

TeilBedeutung
(?:0[1-9]|[12]\d|3[01])Tag 01–31 zuerst (britische, europäische, indische und australische Reihenfolge)
\/Ein Schrägstrich
(?:0[1-9]|1[0-2])Monat 01–12
\d{4}$Vierstellige Jahreszahl

Codebeispiele

JavaScript

const re = /^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'(?:0[1-9]|[12]\d|3[01])/(?:0[1-9]|1[0-2])/\d{4}', value))

PHP

preg_match('/^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/', $value) === 1;

Hinweise und Einschränkungen

Ersetze \/ durch [\/.-], um auch 30.10.2026 und 30-10-2026 zu akzeptieren. Die Anzahl der Tage pro Monat wird nicht geprüft.

Häufige Fragen

Wie lautet der Regex für Datum (TT/MM/JJJJ)?
/^(?:0[1-9]|[12]\d|3[01])\/(?:0[1-9]|1[0-2])\/\d{4}$/ — er passt auf den gesamten String. Was jeder Teil macht, steht in der Tabelle oben.
Welche Beispiele passen?
Von den getesteten Beispielen passen diese: 30/10/2026, 01/12/2000, 31/01/1999. Die anderen nicht.
Wie teste ich diesen Regex?
Klicke auf „Im Regex Tester öffnen“ — Muster, Flags und Beispieltext werden automatisch geladen, und Treffer werden beim Bearbeiten markiert.