2015-06-15 2 views
6

Ich habe String-Feld, das verwendet wird, um verschiedene Werte zu erhalten. Einige der erhaltenen Werte sind Daten. Jetzt muss ich überprüfen, ob der erhaltene Wert das Datum ist oder nicht? Das empfangene Datum kann wieder in verschiedenen Formaten vorliegen.Wie validiere ich, wenn ein String ein gültiges Datum in js ist

Ich versuchte Date.parse(), es funktioniert, wenn Format dd-mm-yyyy hh:mm ist, aber ich habe einige Daten erhalten in wie (26/05/2015 06:20:57 +00:00).

Wie kann ich vergleichen, ob der String ein gültiges Datum ist oder nicht?

+0

Versuchen Sie malm.js (http://momentjs.com/docs/) zu betrachten, es ist eine ziemlich starke Datumsbibliothek. Sie könnten versuchen, ein Datum mit einem beliebigen Wert zu erstellen, dann prüfen, ob es gültig ist. –

+1

Dies kann ein Duplikat sein, aber der verbundene Betrogene hat meist schlechte Antworten, die sich einfach auf * Date.parse * verlassen, was sehr unzuverlässig ist für zufällige Formate. – RobG

+2

Es ist von grundlegender Bedeutung, eine Datumszeichenkette korrekt zu analysieren, damit Sie dem Parser mitteilen können, in welchem ​​Format er sich befindet (oder geben Sie ein Format an, das Sie ** wissen **, das es korrekt analysiert). Andernfalls können Sie einfach eine Folge verschiedener Formate ausprobieren und anhalten, wenn Sie eine Funktion erhalten, die "funktioniert". Wo das Jahr zuerst ist, können Sie sich einigermaßen sicher sein, aber wenn das Jahr das letzte ist, bedeutet die Prävalenz der unlogischen m/d/y-Folge, dass Sie nicht sicher sagen können, ob 04/05/2010 der 4. Mai ist oder 5. April. – RobG

Antwort

8

Wenn Date.parse() ist nicht genug für Sie - aber es kann genug sein - siehe die Dokumentation unter:

dann können Sie versuchen:

Es ist eine Bibliothek zum Parsen, Validieren, Bearbeiten und Anzeigen von Datumsangaben in JavaScript, die eine wesentlich umfangreichere API als die Standard-Funktionen für die Datumsverarbeitung von JavaScript aufweist.

Siehe auch this answer für weitere Bibliotheken und Links zu Tutorials.

+1

danke. Verwendung von moment.js hilft. Ich kann die Zeichenfolge analysieren, um sie an jedes gewünschte Format anzupassen. – user1147738

+1

mit moment.js nur zum Überprüfen einer Zeichenfolge nicht korrekt aussieht. Gibt es eine reine JavaScript-Lösung? – Kira