<input type=text name=t>
...........
if(!t.value.match(/^\d{4}([-/])\d{2}([-/])\d{2}([-/])$/)
  alert("不合法");

解决方案 »

  1.   

    少了个括号
    if(!t.value.match(/^\d{4}([-/])\d{2}([-/])\d{2}([-/])$/))
      alert("不合法");
      

  2.   

    樓上的你這樣有個bug.用戶輸入9999-99-99也會合法.
      

  3.   

    自动加上验证事件及日期按钮(htc方式)
    http://jkisjk.vip.sina.com/html/AttachEventWithHtc.htm自动加上验证事件及日期按钮(js方式)
    http://jkisjk.vip.sina.com/html/AttachEventWithJs.htm
      

  4.   

    function chekDate(obj){
    var r=obj.value;
    var arrValue=r.match(/^(\d{1,4})(-)(\d{1,2})\2(\d{1,2})$/);
    var d=new Date(arrValue[1],arrValue[3]-1,arrValue[4]);
    if(!(d.getFullYear()==arrValue[1]&&(d.getMonth()+1)==arrValue[3]&&d.getDate()==arrValue[4])){
    obj.value="";
    }
    }<input name=tryValue maxlength=10 size=15 onblur=chekDate(this);>
      

  5.   

    能不能具体点呢?我对JS不熟,3q!