<script>
function isDate(str)
{
  var re = /,/g;
  str = str.replace(re,"/");
  re=/-/g;
  str = str.replace(re,"/");
  var dt=new Date(str);
  return !isNaN(dt);
}
str = "3/2/1991  ";
alert(isDate(str)); 
</script>

解决方案 »

  1.   

    <script>
    function isDate(str)
    {
      var re = /,/g;
      str = str.replace(re,"/");
      re=/-/g;
      str = str.replace(re,"/");
      var dt=new Date(str);
      var dnow=new Date();
      return (!isNaN(dt) && ( dnow>dt) );
    }
    str = "3/2/2991  ";
    alert(isDate(str)); 
    </script>
      

  2.   

    to weidegong(weidegong) :你的腳本是錯誤的. 我試了一下,鏈  33/231/1991 都是合法的 !!!
      

  3.   

    to : weidegong(weidegong)这个方法不太合适吧, Date.parse()自动把日期月份折算,如13月他当作1月,
    另外, 我如果限定必须是1900-2010年呢
      

  4.   

    function isDate(sDate){
      var y,m,d
      re=/^([01][\d])\/([0-3][\d])\/([12][\d]{3})$/
      
       if (re.test(sDate)){
         m=RegExp.$1
         d=RegExp.$2
         y=RegExp.$3
         //在这里进一步判断年月日是否合法...
        
       }
       else{
         return false
       }
         
    }
      

  5.   

    http://www.blueidea.com/bbs/newsdetail.asp?id=400549<object classid=clsid:20DD1B9E-87C4-11D1-8BE3-0000F8754DA1 style="height:22"></object>