Sprawdzanie poprawności daty w JavaScript
Nauczmy się teraz sprawdzać poprawność
daty. Na przykład, 31 stycznia
to poprawna data, a 32 stycznia
to niepoprawna data. Jak wiesz, JavaScript
automatycznie koryguje daty. W naszym
przypadku oznacza to, że 32 stycznia automatycznie
stanie się 1 lutego.
Tę właściwość JavaScript można wykorzystać do sprawdzenia, czy data istnieje. Jak będziemy sprawdzać: utworzymy obiekt z datą i sprawdzimy, czy części daty się zmieniły czy nie. Innymi słowy, czy JavaScript wykonał korektę naszej daty, czy nie. Jeśli wykonał - oznacza to, że przekazana przez nas data jest niepoprawna, a jeśli nie wykonał - poprawna.
Zróbmy opisane:
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('poprawna');
} else {
console.log('niepoprawna');
}
Stwórz funkcję checkDate, która
będzie wykonywać opisaną kontrolę. Niech
funkcja zwraca true, jeśli data
jest poprawna i false, jeśli nie. Przykład
działania tej funkcji dla 31 stycznia
i 32 stycznia:
console.log(checkDate(2025, 0, 31)); // wyświetli true
console.log(checkDate(2025, 0, 32)); // wyświetli false