hallo
Ja, eine solche Prüfung kann ein regulärer Ausdruck auch nicht leisten, aber das brauch ich dir ja nicht zu erklären.
Also sollte ein pattern für Datumangaben (solange Browser den type="date" nicht unterstützen) eigentlich möglichst liberal sein
pattern = "\d{1,4}[./-](\d{1,4}[./-]|\s?\S+\s?)\d{1,4}"
etwas anschaulicher dargestellt:
\d{1,2}[./-] #Tag
(
\d{1,2}[./-] #Monatszahl
| #oder
\s?\S+\s? #Monatsname, optional Whitespace
)
\d{2} \d{2}? #Jahr 2 oder 4-stellig
Falls dann noch Javascript verfügbar ist, kann man dem Pattern ja aufgrund des aktuellen Datums ein genaueres Pattern setzen, oder die Eingabe validieren.