Heim  >  Artikel  >  Web-Frontend  >  Wie validiere ich Daten im Format „mm/tt/jjjj“ mit JavaScript?

Wie validiere ich Daten im Format „mm/tt/jjjj“ mit JavaScript?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 03:42:28668Durchsuche

How to Validate Dates in

Validierung von Daten im Format „MM/TT/JJJJ“ in JavaScript

Die Validierung von Daten in einem bestimmten Format ist für die Datenintegrität und -zuverlässigkeit von entscheidender Bedeutung. Beispielsweise wird das Format „MM/TT/JJJJ“ häufig in vielen Anwendungen verwendet und erfordert eine ordnungsgemäße Validierung. Sehen wir uns eine JavaScript-Funktion zur Validierung von Datumsangaben in diesem Format an:

Die Originalfunktion

Der in der Frage bereitgestellte Code scheint einige Probleme zu haben. Die Funktion isDate überprüft zunächst die Länge der Datumszeichenfolge und stellt sicher, dass sie die richtigen Schrägstriche enthält. Anschließend werden Monat, Tag und Jahr aus der Zeichenfolge extrahiert und der Jahresbereich validiert.

Das Hauptproblem liegt jedoch im Vergleich der berechneten Millisekunden mit den aus dem Date-Objekt erhaltenen Datumsteilen. Dieser Ansatz ist fehleranfällig, wenn die Datumszeichenfolge ungültig ist.

Ein vereinfachter Ansatz

Die folgende Funktion bietet eine einfachere und zuverlässigere Methode zur Validierung von Datumsangaben im Format „MM/TT/JJJJ“. Format:

<code class="javascript">function isValidDate(dateString) {
    // Validate the pattern
    if (!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(dateString)) {
        return false;
    }

    // Parse the date parts
    const parts = dateString.split("/");
    const day = parseInt(parts[1], 10);
    const month = parseInt(parts[0], 10);
    const year = parseInt(parts[2], 10);

    // Check the month and year ranges
    if (year < 1000 || year > 3000 || month === 0 || month > 12) {
        return false;
    }

    // Consider leap years
    const monthLengths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    if (year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0)) {
        monthLengths[1] = 29;
    }

    // Validate the day in the context of the month
    return day > 0 && day <= monthLengths[month - 1];
}</code>

Verwendung und Fehlerbehandlung

Um diese Funktion zu verwenden, können Sie einfach die Datumszeichenfolge als Argument übergeben. Es gibt „true“ zurück, wenn das Datum im Format „MM/TT/JJJJ“ gültig ist, und „false“, wenn es ungültig ist oder nicht dem erforderlichen Format entspricht.

Behandeln Sie alle Validierungsfehler elegant, indem Sie den Benutzer benachrichtigen oder einen Fehler anzeigen Nachricht. Dadurch wird sichergestellt, dass in Ihrer Bewerbung nur gültige Daten verarbeitet werden.

Das obige ist der detaillierte Inhalt vonWie validiere ich Daten im Format „mm/tt/jjjj“ mit JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn