作者:蕾仔 出处:http://www.LeiZai.com加入时间:2008-8-5 12:42:05
主体是网上找的..后来发现对润年的判断有问题..后来自己改正的
function IsDate(str,aa) //判断日期是否真实 修正过润年的判断 日期格式 aa=1 mm-dd-year aa!=1 year-mm-dd
{
arr=str.split("-");
if(arr.length==3)
{
if (aa==1)
{
intMonth=parseInt(arr[0],10);
intDay=parseInt(arr[1],10);
intYear=parseInt(arr[2],10);
}
else
{
intYear=parseInt(arr[0],10);
intMonth=parseInt(arr[1],10);
intDay=parseInt(arr[2],10);
}
if(isNaN(intYear) || isNaN(intMonth) || isNaN(intDay))
{
return false;
}
if(intYear>2100 || intYear<1900 || intMonth>12 || intMonth<0 || intDay>31 || intDay<0)
{
return false;
}
if((intMonth==4 || intMonth==6 || intMonth==9 || intMonth==11) && intDay>30)
{
return false;
}
if((intMonth==1 || intMonth==3 || intMonth==5 || intMonth==7 || intMonth==8 || intMonth==10 || intMonth==12) && intDay>31)
{
return false;
}
if (intMonth==2) //2月判断语句可去掉 修正润年的判断
{
if(new Date(intYear , 2 , 0).getDate() == 29)
{
if(intDay>29)
return false;
}
else
{
if(intDay>28)
return false;
}
}
return true;
}
return false;
}