Validering af dato i JavaScript
Lad os nu lære at kontrollere, om en dato er
korrekt. For eksempel er 31 januar
en gyldig dato, mens 32 januar
er ugyldig. Som du ved, korrigerer JavaScript
automatisk datoer. I vores
tilfælde betyder det, at 32 januar automatisk
bliver til 1 februar.
Denne egenskab i JavaScript kan bruges til at kontrollere, om en dato eksisterer. Hvordan vi kontrollerer: vi opretter et objekt med datoen og ser, om delene af datoen er ændret eller ikke. Med andre ord, om JavaScript udførte en korrektion af vores dato eller ikke. Hvis den gjorde, betyder det, at den passede dato er ugyldig, og hvis ikke - er den gyldig.
Lad os gøre som beskrevet:
let year = 2025;
let month = 0;
let day = 32;
let date = new Date(year, month, day);
if (date.getFullYear() == year && date.getMonth() == month && date.getDate() == day) {
console.log('korrekt');
} else {
console.log('ikke korrekt');
}
Lav en funktion checkDate, som
vil udføre den beskrevne validering. Lad
funktionen returnere true, hvis datoen
er gyldig og false, hvis ikke. Eksempel
på funktionens arbejde for 31 januar
og 32 januar:
console.log(checkDate(2025, 0, 31)); // vil udskrive true
console.log(checkDate(2025, 0, 32)); // vil udskrive false