經常在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;
}
}