Deltamodel

a structured approach ...

JS: isDate - Mit Javascript prüfen, ob ein String ein Datum ist

Ein Anwendungsfall bei Webanwendungen ist es zu prüfen, ob Nutzereingaben oder automatisch generierte Strings valide weiterverarbeitet werden können. Auch wenn bei Webanwendungen gilt, Nutzereingaben niemals zu vertrauen und diese vor der Weiterverarbeitung auf dem Server nochmal zu prüfen, kann es praktisch sein, Strings auf ihre Konformität zu anderen Datentypen in Javascript zu prüfen.

Für die Überprüfung ob ein String ein korrektes Datum darstellt existiert keine native Javascript Methode. Deshalb muss hierfür auf externe Bibliotheken zurückgegriffen werden oder aber die Frage:

  • “Ist dieser String ein valides Datum?”

umformuliert werden in:

  • “Lässt sich dieser String in ein valides Datum konvertieren?”

Hierzu eignet sich die Methode Date.parse.

Diese gibt als Rückgabewert die Anzahl an Millisekunden aus, die seit dem seit dem 1. Januar 1970 00:00:00 UTC vergangen sind, wenn str sich ein valides Datum konvertieren lässt. Wenn sich str nicht in ein valides Datum konvertieren lässt, gibt Date.parse als Rückgabewert NaN zurück. Da sich mit Javascript Werte auf NaN prüfen lassen, lässt sich die Prüfung eines Strings auf seine Konvertierbarkeit in ein Datum wie folgt umsetzen:

function isDate(str){
	return !isNaN(Date.parse(str));
}

isDate("1.1.2020");
// true

isDate("Katze");
// false