Validering av dato i JavaScript
La oss nå lære hvordan vi sjekker om en dato er
gyldig. For eksempel er 31 januar
en gyldig dato, mens 32 januar
er en ugyldig dato. Som du vet, korrigerer JavaScript
datoer automatisk. I vårt tilfelle betyr det at 32 januar automatisk
blir til 1 februar.
Denne egenskapen i JavaScript kan vi bruke for å sjekke om en dato eksisterer. Hvordan vi sjekker: vi oppretter et datoobjekt og ser om deler av datoen har endret seg eller ikke. Med andre ord, om JavaScript utførte en korreksjon av vår dato eller ikke. Hvis den ble utført - betyr det at datoen vi oppga er ugyldig, og hvis ikke - er den gyldig.
La oss gjøre det som er 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('gyldig');
} else {
console.log('ugyldig');
}
Lag en funksjon checkDate som
utfører den beskrevne sjekken. La
funksjonen returnere true hvis datoen
er gyldig og false hvis ikke. Eksempel
på bruk av denne funksjonen for 31 januar
og 32 januar:
console.log(checkDate(2025, 0, 31)); // skriver ut true
console.log(checkDate(2025, 0, 32)); // skriver ut false