Kontroll av datumkorrekthet i JavaScript
Låt oss nu lära oss att kontrollera ett datum för
korrekthet. Till exempel är 31 januari
ett korrekt datum, medan 32 januari
är inkorrekt. Som du vet korrigerar JavaScript
datum automatiskt. I vårt fall betyder det att 32 januari automatiskt
blir 1 februari.
Denna egenskap hos JavaScript kan användas för att kontrollera om ett datum existerar. Hur vi kontrollerar: vi skapar ett objekt med datumet och ser om delar av datumet har ändrats eller inte. Med andra ord, utförde JavaScript en korrigering av vårt datum eller inte. Om det gjorde det betyder det att vårt angivna datum är inkorrekt, och om det inte gjorde det - korrekt.
Låt oss göra som beskrivet:
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('inkorrekt');
}
Skapa en funktion checkDate som
utför den beskrivna kontrollen. Låt
funktionen returnera true om datumet
är korrekt och false om det inte är det. Exempel
på hur denna funktion fungerar för 31 januari
och 32 januari:
console.log(checkDate(2025, 0, 31)); // skriver ut true
console.log(checkDate(2025, 0, 32)); // skriver ut false