日期:2009-08-18  浏览次数:20917 次

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