Categories
Code

Check if a Date is Valid with JavaScript

An HTML form requires users to select the year, month and date in separate dropdown fields without using a date picker. The developer needs to ensure that the values selected by the users form a valid date. For instance, an input like 2 (Month), 30 (Date) should be rejected.

HTML Valid Date

function isValidDate() {

  var day = Number(document.getElementById("day").value),
    month = Number(document.getElementById("month").value),
    year = Number(document.getElementById("year").value);

  var date = new Date();
  date.setFullYear(year, month - 1, day);
  // month - 1 since the month index is 0-based (0 = January)

  if ( (date.getFullYear() == year) && (date.getMonth() == month + 1) && (date.getDate() == day) )
    return true;

  return false;
}