Validierung von Daten im Format „MM/TT/JJJJ“ in JavaScript
Beim Versuch, Daten im Format „MM/TT/JJJJ“ zu validieren Wenn Sie mit dem bereitgestellten Code „yyyy“ verwenden, können Probleme auftreten. Lassen Sie uns die möglichen Fehler analysieren und eine zuverlässigere Lösung bereitstellen.
Die Originalfunktion prüft, ob die Eingabezeichenfolge dem gewünschten Format entspricht und versucht, aus den bereitgestellten Werten ein Datumsobjekt zu erstellen. Es kann jedoch zu Abweichungen zwischen dem Eingabedatum und den berechneten Teilen des Date-Objekts kommen, die zu einer falschen Validierung führen.
Verbesserte Validierungsfunktion
Um dieses Problem zu beheben, a Es kann eine robustere Validierungsfunktion verwendet werden:
<code class="javascript">function isValidDate(dateString) { // Validate Format if (!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(dateString)) return false; // Parse Date Components const parts = dateString.split("/"); const day = parseInt(parts[1], 10); const month = parseInt(parts[0], 10); const year = parseInt(parts[2], 10); // Check Range of Month and Year if (year < 1000 || year > 3000 || month < 1 || month > 12) return false; // Adjust for Leap Years const monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; if ((year % 400 === 0) || ((year % 100 !== 0) && (year % 4 === 0))) { monthLength[1] = 29; } // Check Valid Day Range return day > 0 && day <= monthLength[month - 1]; }</code>
Diese Funktion validiert Datumszeichenfolgen gründlich, indem sie das Format überprüft, einzelne Komponenten analysiert, die Gültigkeit von Monats- und Jahresbereichen bewertet und Schaltjahre berücksichtigt, um die Gültigkeit zu bestimmen Bereich von Tagen.
Das obige ist der detaillierte Inhalt vonWie kann ich Datumsangaben im Format „mm/tt/jjjj' in JavaScript zuverlässig validieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!