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();
}