Heim >Web-Frontend >js-Tutorial >Wie kann ich Datumsangaben im Format „mm/tt/jjjj' in JavaScript zuverlässig validieren?

Wie kann ich Datumsangaben im Format „mm/tt/jjjj' in JavaScript zuverlässig validieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-01 19:49:02931Durchsuche

How to Reliably Validate Dates in

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!

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