//ÈÕÆÚ¼ì²â
var daysOfMonth = new Array(
  31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
);

var daysOfMonthLY = new Array(
  31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
);
function isLeapYear(year) {
  year = year - 0;
  if ((year/4)   != Math.floor(year/4))   return false;
  if ((year/100) != Math.floor(year/100)) return true;
  if ((year/400) != Math.floor(year/400)) return false;
  return true;
}

function isValidDate(date) {
  if (!isValidDateFormat(date)) return false;
  var d = date.split('-');
  year = d[0];
  month = d[1];
  day = d[2];
  day = day - 0; month = month - 0; year = year - 0;
  if ((day > 31) || (month > 12) || (day <=0) || (month <= 0) || (year<=1950) || (year>=2100) ||
     (isLeapYear(year) && day > daysOfMonthLY[month-1]) ||
     (!isLeapYear(year) && day > daysOfMonth[month-1]))
    return false;
  else
    return true;
}

function isValidDateFormat(date) {
  isDateFormat=/^[1-9][0-9][0-9][0-9]-[0-9]?[0-9]-[0-9]?[0-9]$/
  if(!isDateFormat.test(date))
    return false;
  else
    return true;
}