<FORM METHOD=POST ACTION="" name="form">
<input name="qq" type="text" id="qq" size="20" maxlength="20" value="" onkeyup="value=value.replace(/[^\d]/g,'')" />
<input type="submit" name="button" value="查询" onClick="check(form)"/></FORM>如果文本框输入的不是5位数到12位数之间就。弹出提示。重新输入如果输入的是5到12之间就执行查询功能。

解决方案 »

  1.   

    直接用长度length判定下就可以呀, 正则都不用了,
    var qq = document.form[0].qq.value.length;
    if(qq >=4 && qq <= 12){
    // 查询
    }
      

  2.   

    maxlength="12"
    var qq = document.form[0].qq.value.length;
    if(qq <4 ){
    alert("错误");
    }
      

  3.   


    var reg=/^\d{4,12}$/;
    if(!reg.test(document.getElementById('qq').value)){
    alert('格式错误');return false;
    }
      

  4.   

    第一种方法,通过正则表达式判断,代码:
    function TestByReg(){
    var reg=/^[\s\S]{5,12}$/;
    if(!reg.test(document.getElementById('qq').value)){
    alert('格式错误');
    }
    else
    {
    }
    }
    第二种方法,通过Length判断,代码:
    function TestByLenth()
    {
    var len=document.getElementById("qq").value.length;
    if (len>4&&len<13)
    {
    //通过
    }
    else
    {
    alert('长度错误!')
    }
    }
      

  5.   

    你这样写的不对吧
    <FORM METHOD=POST ACTION="" name="form">
    <input name="qq" type="text" id="qq" size="20" maxlength="20" value="" onkeyup="value=value.replace(/[^\d]/g,'')" />
    <input type="submit" name="button" value="查询" onClick="check(form)"/></FORM>试试这样写:
    <FORM METHOD=POST ACTION="" name="form" onsubmit="return check(form);">
    <input name="qq" type="text" id="qq" size="20" maxlength="20" value="" onkeyup="value=value.replace(/[^\d]/g,'')" />
    <input type="submit" name="button" value="查询"/></FORM>然后注意check函数里面,判断不满足条件的时候弹出提示信息,然后要return false正则:/\d{5,12}/
      

  6.   

    <FORM METHOD=POST ACTION="" name="form">
    <input name="qq" type="text" id="qq" size="20" maxlength="20" value="" onkeyup="value=value.replace(/[^\d]/g,'')" />
    <input type="hidden" name ="postclick" value="true" />
    <input type="submit" name="button" value="查询" onClick="check(form)"/></FORM>
    还少发了一些内容。
      

  7.   

    <html>
    <head>
        <script type="text/javascript" language="javascript">
            function check(){
                var reg=/^[\s\S]{5,12}$/;
                if(!reg.test(document.getElementById('qq').value)){
                    alert('格式错误');
                }
            }
        </script>    
    </head>
    <body>
        <form method="POST" action="" name="form">
        <input name="qq" type="text" id="qq" size="20" maxlength="20" value="" onkeyup="value=value.replace(/[^\d]/g,'')" />
        <input type="hidden" name="postclick" value="true" />
        <input type="submit" name="button" value="查询" onclick="check()" />
        </form>
    </body>
    </html>
      

  8.   


    <html>
      <head>
       <script type="text/javascript" language="javascript">
       function check()
       {
       var reg=/^[\d]{5,12}$/;
       if(!reg.test(document.getElementById('qq').value)){
       alert('长度或者格式不符合要求');
       }
       }
       </script>
      </head>
      <body>
       <form method="post" action="" name="form">
       <input name="qq" type="text" id="qq" size="20" maxlength="20" />
       <input type="hidden" name="postclick" value="true"/>
       <input type="submit" name="button" value="查询" onclick="check()"/>
       </form>
      </body>
    </html>
    楼上的代码不合乎要求,要判断的是连续的数字是否为5-12位,肯定不能用字符来判定了。我改了下。请楼主参考。
      

  9.   

    我的代码你还没测,怎么知道不符合要求,判断数字的LZ自己已经在<input name="qq" type="text" id="qq" size="20" maxlength="20" value="" onkeyup="value=value.replace(/[^\d]/g,'')" />里写了
      

  10.   


       var reg=/^[\s\S]{5,12}$/;干嘛要这么折腾,直接用\d不就完了~~
      

  11.   

    当然用\d是最好的,我那是copy楼上的,测试了功能没问题,没注意看\s\S
      

  12.   

    onkeyup="value=value.replace(/[^\d]/g,'')" 
    -->
    onkeyup="value=value.replace(/\D/g,'')"