您的位置:首页 > Web前端 > JavaScript

JavaScript 判断日期是否正确

2008-08-28 16:22 344 查看
function CheckDate(strDate,separate)
{
subYY=strDate.substr(0,4)
if(isNaN(subYY) || subYY<=0)
{
return false;
}
area=strDate.indexOf(separate,0)
subMM=strDate.substr(area+1,strDate.indexOf(separate,area+1)-(area+1))

if(isNaN(subMM) || subMM<=0)
{
return false;
}

if(subMM.length<2)
{
subMM="0"+subMM
}

area=strDate.lastIndexOf(separate)
subDD=strDate.substr(area+1,strDate.length-area-1)

if(isNaN(subDD) || subDD<=0)
{
return false;
}

if(eval(subDD)<10)
{
subDD="0"+eval(subDD)
}

NewDate=subYY+"-"+subMM+"-"+subDD

if(NewDate.length != 10)
{
return false;
}

if(NewDate.substr(4,1) != "-")
{
return true;
}

if(NewDate.substr(7,1) !="-" )
{
return true;
}

var MM=NewDate.substr(5,2);
var DD=NewDate.substr(8,2);

if((subYY%4 == 0 && subYY%100 !=0) || subYY%400 == 0)
{
if(parseInt(MM)==2)
{
if(DD>29)
{
return false;
}
}
}
else
{
if(parseInt(MM)==2)
{
if(DD>28)
{
return false;
}
}
}

var mm=new Array(1,3,5,7,8,10,12);
for(i=0;i< mm.length;i++)
{
if (parseInt(MM) == mm[i])
{
if(parseInt(DD) > 31)
{
return false;
}
}
}

var mm=new Array(4,6,9,11);
for(i=0;i< mm.length;i++)
{
if (parseInt(MM) == mm[i])
{
if(parseInt(DD) > 30)
{
return false;
}
}
}


if(parseInt(MM)>12)
{
return false;
}

return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: