• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Regex Problem mit Datum

jeffglennfox

New member
Hallo,

ich möchte ein Datum in der Form "TT.M" nach 4 Zeichen auf Gültigkeit prüfen und habe das so probiert:

/(0[1-9]|[12][0-9]|3[01])[ .][0-1]/;

Funktioniert leider nicht. Zum besseren Verständnis, das vierte Zeichen (erste Zahl des Monats) darf nur 0 oder 1 sein.

Wo liegt der Fehler ?

Gruss, Markus
 
Danke für die Antwort und die Links. Ursprünglich sieht die Regex so aus:

/(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.]/

Da wird das Format "TT.MM." nach sechs Zeichen geprüft und zwar so, dass die Tage nicht größer 31 und die Monate nicht größer 12 sind. Ich will es einfach nur an der richtigen Stelle abschneiden bzw. ändern, dass die gleiche logische Prüfung schon nach 4 Zeichen geschieht, alo nach Eingabe "TT.M". Ich bin mit dieser ganzen Regex-Thematik eher ungeübt und lerne noch.
 
Per RegEx können nur formale Fehler bei einer Datumseingabe abgefangen werden. Fehlerhafte Eingaben wie ein 30.02 werden nicht erkannt.
Ich habe mal ein uraltes Skript rausgesucht, welches für eine deutsche Datumsnotation eine genaue Prüfung macht:
Code:
//Datum exakt prüfen Eingabe dd.mm.yyyy
var text="30.2.2017";
var ta=text.split(".");
var da = new Date(ta[2],ta[1]-1,ta[0]);
var dateok = da.getDate()==ta[0] && da.getMonth()==ta[1]-1 && da.getFullYear() == ta[2];
alert(dateok);
Test als jsfiddle

LG jspit
 
Zurück
Oben