<input type="text" runat="server" id="PublishYear" class="textinp" onclick = "checkDate(this)" />  
function checkDate(textbox) {
    var date = textbox.value;
    var objRegExp = /^([2-3]\d{3})$/ig;    if (objRegExp.test(date)) {
        return true;
    }
    else {
       
        return false;
    }
}

解决方案 »

  1.   

    3楼已经把js方法写好了   onclick 事件改成   onblur才好
      

  2.   

    索菲亚唐蓉香^^function checkDate(textbox) {
        return /^[2-3]\d{3}$/.test(textbox?textbox.value:null);
    }
      

  3.   

    表怕怕哈哈跟上面差不多一样啊 优化整合了一下如果checkDate方法只在这种情形下用 还可简化下
    补上:
    <input type="text" runat="server" id="PublishYear" class="textinp" onclick = "checkDate(this.value)" />function checkDate(value) {
        return /^[2-3]\d{3}$/.test(value);
    }
      

  4.   

    用 onblur='楼上的方法' 或者用droplist 。不用判断,
      

  5.   

    head runat="server">
        <title>无标题页</title>
     
    </head>
    <body>
        <form id="form1" runat="server">
     <input type="text"  id="sss" onblur="show()" value=""/>
     <div id=ss></div>
     <script>
     function show(){
     var mess=true;
     var data=document.getElementById("sss").value;    var objRegExp =/^[2-3]{1}\d{3}$/;
        if (objRegExp.test(data)){
            mess=true;
        }
        else {
           
            mess=false;
        }
    document.getElementById("ss").innerHTML=mess;
     }
     
     </script>
        </form> 我QQ376333837
      

  6.   


    噢我的问题 光顾跟风了 你把判断放在button事件里就行了
    这样<input type="text" runat="server" id="PublishYear" class="textinp"/><input type="submit" value="检验"  onclick = "return check()"/> function checkDate(value) {
        return /^[2-3]\d{3}$/.test(value);
    }
    function check(){
        var succeed=true,errMsg='';
        //验证年份
        var dt=document.getElementById("PublishYear");
        succeed=(dt!=null)&&checkDate(dt.value);
        if(!succeed){
          errMsg+='格式错误\n';
        }
        //其他验证依次
        //....
        if(!succeed) alert(errMsg);
        return succeed;
    }
      

  7.   

    下面是我用ASP写的  ,  你可以参照一下
    Function RegExpTest(patrn, strng) 
    Dim regEx, retVal ' 建立变量。 
    Set regEx = New RegExp ' 建立正则表达式。 
    regEx.Pattern = patrn ' 设置模式。 
    regEx.IgnoreCase = False ' 设置是否区分大小写。 
    retVal = regEx.Test(strng) ' 执行搜索测试。 
    RegExpTest = retVal '返回不尔值,不符合就返回false,符合为true 
    End Function 
      

  8.   

    看这边的代码,上面的拷错了'正则表表达式验证函数 patrn-正则表达式 strng-需要验证的字符串 
    Dim regEx, retVal ' 建立变量。 
    Set regEx = New RegExp ' 建立正则表达式。 

    regEx.Pattern="^20\d{2}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3([0|1])))" '验证日期是否是2000-2999年的日期
    regEx.IgnoreCase = False ' 设置是否区分大小写。 
    retVal = regEx.Test(strdate) ' 执行搜索测试。  '返回不尔值,不符合就返回false,符合为true
    '再判断
    if(retVal)
    {
    执行
    }
      

  9.   


    3#的就是正解,把onclick改成onblur
      

  10.   

    onblur = "return checkDate(this);" function checkDate(textbox) {
        var date = textbox.value;
        var objRegExp = /^([2-3]\d{3})$/ig;    if(objRegExp.test(date)) {
            return true;
        }
        else {
            alert('输入非法!');
            return false;
        }
    }
      

  11.   

    没加return才没看到效果吧。
    lz 淫来了