Validierung von Datumsinstanzen in JavaScript
Das Bestimmen der Gültigkeit von Datumsinstanzen in JavaScript kann eine Herausforderung sein. Lassen Sie uns das Problem „ungültiges Datum“ untersuchen und eine Lösung finden, um ungültige Datumsobjekte zuverlässig zu erkennen:
Das Datumsobjekt ist ein JavaScript-Konstrukt, das einen bestimmten Zeitpunkt darstellt. Beim Erstellen von Date-Instanzen aus ungültigen Datumszeichenfolgen treten Probleme auf, wie im folgenden Beispiel gezeigt:
var d = new Date("foo");
Dieser Code erzeugt eine „Invalid Date“-Instanz, die vom Typ Objekt ist und vom Date-Prototyp erbt. Object.prototype.toString.call(d) gibt jedoch „[object Date]“ zurück und die d-Instanz von Date ergibt „true“.
Lösung:
Hier ist a Einfacher Ansatz zur Prüfung auf gültige Date-Instanzen:
if (Object.prototype.toString.call(d) === "[object Date]") { if (isNaN(d.getTime())) { // Invalid Date } else { // Valid Date } } else { // Not a Date object }
Diese Methode stellt sicher, dass die Instanz ein Date-Objekt ist und dass ihr Zeitwert kein Datum ist NaN. Wenn eine der Bedingungen fehlschlägt, wird die Date-Instanz als ungültig betrachtet.
Update [2018-05-31]:
Für Fälle, in denen Date-Objekte aus externen Kontexten nicht vorhanden sind Bedenken Sie, dass eine einfachere Validierungsfunktion verwendet werden kann:
function isValidDate(d) { return d instanceof Date && !isNaN(d); }
Hinweis [01.02.2021]:
Es ist wichtig zu beachten, dass zwischen „ungültigen Daten“ und „ungültigen Datumsobjekten“ unterschieden wird. Diese Antwort konzentriert sich auf die Validierung von Datumsinstanzen, nicht auf Datumseingabezeichenfolgen.
Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript-Datumsinstanzen zuverlässig validieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!