经常在ASP里面碰到要求用户输入日期,比如生日,那么如何知道他输入的值是否有效呢?比如输入2月,则肯定没有30,31号;又如她要是输入4月,那么肯定没有31号,等等.....
下面是我碰到时的解决方案,在ASP中实现:
Tyear=parseInt(<%=year(date)%>);
Tmonth=parseInt(<%=month(date)%>);
Tday=parseInt(<%=day(date)%>);
Tdate= Tyear*10000+Tmonth*100+Tday;
Fyear=parseInt(document.register.birthyear.value);
Fmonth=parseInt(document.register.birthmonth.value);
Fday=parseInt(document.register.birthday.value);
Fdate=(Fyear+18)*10000+Fmonth*100+Fday;
if(Fyear==0 || Fmonth==0 || Fday==0){
alert("請選擇您的出生日期。");
document.register.birthyear.focus();
return false;
}
else if(Fdate>Tdate){
alert("對不起,您未滿十八歲。");
document.register.birthyear.focus();
return false;
}
else
{
theDate = new Date(Fyear,Fmonth,0);
if (Fday > theDate.getDate ())
{
window.alert ("出生日期輸入錯誤!");
return false;
}
}