javascript检查日期格式的函数[比较全]

  //用于日期的文本框 name = "indate"

  function check1(Form)

  {

  for (i = 0; i < Form.length; i++)

  {

  if (Form.elements[i].value == "")

  {

  alert("请填写完整!")

  Form.elements[i].focus();

  return;

  }

  if (Form.elements[i].name == "indate")

  {

  var date = Form.elements[i].value;

  len = date.length;

  var datearray = date.split("-")

  //alert(datearray[1]);

  var year = parseInt(datearray[0]);

  var month = parseInt(datearray[1]);

  var day = parseInt(datearray[2]);

  if (len == "")

  {

  alert("时间不能为空");

  return;

  }

  else if (len > 10)

  {

  alert("日期格式不正确");

  return;

  }

  else if (isNaN(year))

  {

  alert("日期格式不正确");

  return;

  }

  else if ((year > 9999) || (year < 100))

  {

  alert("日期格式不正确");

  return;

  }

  else if (isNaN(month))

  {

  alert("日期格式不正确");

  return;

  }

  else if ((month > 12) || (month < 1))

  {

  alert("日期格式不正确");

  return;

  }

  else if (isNaN(day))

  {

  alert("日期格式不正确");

  return;

  }

  else

  {

  switch (month)

  {

  case 1:

  case 3:

  case 5:

  case 7:

  case 8:

  case 10:

  case 12:

  if ((dat < 0) || (day > 31))

  {

  alert("日期格式不正确");

  return;

  }

  break;

  case 4:

  case 6:

  case 9:

  case 11:

  if ((day < 0) || (day > 30))

  {

  alert("日期格式不正确");

  return;

  }

  break;

  default:

  if ((year % 100 == 0) && (year % 4 == 0))

  {

  if ((day < 0) || (day > 29))

  {

  alert("日期格式不正确");

  return;

  }

  }

  else

  {

  if ((day < 0) || (day > 28))

  {

  alert("日期格式不正确");

  return;

  }

  }

  }

  }

  }

  }

  Form.submit();

  }