如何用javascript判断录入的日期是否合法

时间:2021-05-18

复制代码 代码如下:
functionIsValidYear(psYear)
{
varsYear=newString(psYear);


if(psYear==null)
{
returnfalse;
}


if(isNaN(psYear)==true)
{
returnfalse;
}

if(sYear=="")
{
returntrue;
}

if(sYear.match(/[^0-9]/g)!=null)
{
returnfalse;
}

varnYear=parseInt(sYear,10);

if((nYear<0)||(9999<nYear))
{
returnfalse;
}

returntrue;
}


functionIsValidMonth(psMonth)
{
varsMonth=newString(psMonth);

if(psMonth==null)
{
returnfalse;
}

if(isNaN(psMonth)==true)
{
returnfalse;
}

if(sMonth=="")
{
returntrue;
}

if(sMonth.match(/[^0-9]/g)!=null)
{
returnfalse;
}

varnMonth=parseInt(sMonth,10);

if((nMonth<0)||(12<nMonth))
{
returnfalse;
}

returntrue;
}


functionIsValidDay(psDay)
{
varsDay=newString(psDay);

if(psDay==null)
{
returnfalse;
}

if(isNaN(psDay)==true)
{
returnfalse;
}

if(sDay=="")
{
returntrue;
}

if(sDay.match(/[^0-9]/g)!=null)
{
returnfalse;
}

varnDay=parseInt(psDay,10);

if((nDay<0)||(31<nDay))
{
returnfalse;
}

returntrue;
}


functionIsValidDate(psYear,psMonth,psDay)
{
if(psYear==null||psMonth==null||psDay==null)
{
returnfalse;
}

varsYear=newString(psYear);
varsMonth=newString(psMonth);
varsDay=newString(psDay);

if(IsValidYear(sYear)==false)
{
returnfalse;
}

if(IsValidMonth(sMonth)==false)
{
returnfalse;
}

if(IsValidDay(sDay)==false)
{
returnfalse;
}

varnYear=parseInt(sYear,10);
varnMonth=parseInt(sMonth,10);
varnDay=parseInt(sDay,10);

if(sYear==""&&sMonth==""&&sDay=="")
{
returntrue;
}

if(sYear==""||sMonth==""||sDay=="")
{
returnfalse;
}

if(nMonth<1||12<nMonth)
{
returnfalse;
}
if(nDay<1||31<nDay)
{
returnfalse;
}

if(nMonth==2)
{
if((nYear%400==0)||(nYear%4==0)&&(nYear%100!=0))
{
if((nDay<1)||(nDay>29))
{
returnfalse;
}
}
else
{
if((nDay<1)||(nDay>28))
{
returnfalse;
}
}
}
elseif((nMonth==1)||
(nMonth==3)||
(nMonth==5)||
(nMonth==7)||
(nMonth==8)||
(nMonth==10)||
(nMonth==12))
{
if((nDay<1)||(31<nDay))
{
returnfalse;
}
}
else
{
if((nDay<1)||(30<nDay))
{
returnfalse;
}
}

returntrue;
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章