Poprawność daty w Javascript

Napiszemy w Javascript funkcję sprawdzającą poprawność podanej daty. Parametrami funkcji będą dzień, miesiąc i rok. Najpierw musimy przekształcić podane parametry na łańcuch znaków, w jednej z następujących postaci:

  • MM-dd-yyyy
  • yyyy/MM/dd
  • MM/dd/yyyy
  • MMMM dd, yyyy
  • MMM dd, yyyy
Dlaczego akurat do takiej? Ponieważ do obiektu Date możemy przekazać łańcuch znaków tylko w jednej z powyższych postaci. Wybierzmy np. postać pierwszą i utwórzmy obiekt Date.
function validDate(day, month, year)
{
  var string = month + "-" + day + "-" + year;
  var date_obj    = new Date(string);
}
Metoda getDate() pobiera dzień z obiektu Date, getMonth() miesiąc (miesiące liczymy od 0 do 11), getFullYear() pełny rok. Porównujemy pobrane wartości z przekazanymi danymi. Kod całej funkcji widnieje poniżej.
function validDate(day, month, year)
{  
var string = month + "-" + day + "-" + year;
var date_obj    = new Date(string);

if(date_obj.getDate() != day ||  date_obj.getMonth()  != (month - 1) || date_obj.getFullYear() 
!= year)
{
       return false;
}
  return true;
}