Gibt es das Datum?

Mit Hilfe des Kalenders zählen wir die Tage...

Zum Ausprobieren irgendein Datum eingeben:



Ein Datumsfeld sollte meiner Meinung nach kein bestimmtes Eingabeformat verlangen, etwa TT.MM.JJJJ.

Als Trennzeichen zwischen Tag, Monat und Jahr kann jedes beliebige Zeichen benutzt werden, das keine Ziffer ist, also z.B. Punkt, Bindestrich oder Leerzeichen. Bsp.: "3.2.1960" oder "3 2 60".

Wird der Monat mit seinem Namen angegeben (Januar, Februar usw.), muss der Monatsname nicht außerdem durch Leerzeichen von den anderen Bestandteilen der Eingabe getrennt werden, wie z.B. in "3. Februar 1960", auch die Kurzform "3feb60" ist möglich.

Eine großzügige Parsierung, die keine feste Anzahl von Stellen verlangt, kommt dem Benutzer entgegen.

Durch die sofortige Umsetzung in das Standardformat TT.MM.JJJJ bei Änderung des Feldinhalts (onChange) kann der Benutzer die Interpretation seiner Eingabe unmittelbar nachvollziehen.


Sie können den JavaScript-Quelltext hier laden, um die Datumsvalidierung auf Ihren eigenen Web-Seiten zu verwenden. (Unter Umständen müssen Sie beim Anklicken des Links die Umschalttaste gedrückt halten.)


Die Funktion dateStringToMillis parsiert die als erstes Argument übergebene Zeichenkette als Datum und gibt es im Ergebnis in Millisekunden seit dem 1.1.1970 zurück. Ist die Zeichenkette nicht als Datum parsierbar oder das parsierte Datum nicht gültig, ist das Ergebnis NaN (Not a Number). Wird als zweites (optionales) Argument eine Referenz auf das Texteingabeobjekt mitgegeben, wird dieses mit dem parsierten Datum in der Formatierung TT.MM.JJJJ aktualisiert, wenn es sich um gültiges Datum handelt.


// Zeichenkette aus Text-Input parsieren
var millis = dateStringToMillis (txto.value, txto);
if (isNaN (millis)) {
        // kein gültiges Datum
        // ...
} else {
        // mit anderem Datum vergleichen
        var min = dateStringToMillis ("1.1.2000");
        if (millis < min)
                // eingegebenes Datum liegt vor dem 1.1.2000
                // ...
}