正则有正则的优势,但并不是用在什么地方都很简便.
以下代码没有用正则,仅供参考...<Html>
<head>
<script language="javascript"> 
<!-- 
function keyUp(e)
{
var meme = parseInt(document.form1.pageNo.value);
if(isNaN(meme))document.form1.pageNo.value = "1";
else document.form1.pageNo.value = meme.toString();
}
document.onkeyup=keyUp;
-->
</script>
</head>
<body>
<form name="form1" action="" method="post">转到第<input type="text" name="pageNo" size="3" value="1" maxlength="3" >页&nbsp;<input type="submit" value="确定" ></form>
</body>
</html>

解决方案 »

  1.   

    如果是NS浏览器或IE版本不同.需要修改原代码.
    请问你的浏览器版本.
      

  2.   

    <script language="javascript">
      ie4 = (document.all) ? true : false;
      ns4 = (document.layers) ? true : false;
      function keyUp(e){
          var meme = parseInt(document.form1.pageNo.value);
          if (isNaN(meme)) document.form1.pageNo.value = "";
          else document.form1.pageNo.value = meme.toString();  }
      document.onkeyup=keyUp; 
      if (ns4) document.captureEvents(Event.KEYUP); //对于NS4
    }
    </script>
      

  3.   

    ==============
    }
    </script>
    ==============
    去掉上面的大括号!!!!
      

  4.   

    ==========================
     zqyh(hitgnu) 
    哎呀,我的想法是,仅允许输入数字,出现非数字的字符时,报错。
    ==========================
    你这不是在浪费客户(浏览者)的时间!!!!
    如果你真想那么做,可以改一下:<html>
    <head>
    <title></title>
    <script language="javascript">
    re=/^\d{0,3}$/;
    function isDigital(){
    if(re.test(document.form1.pageNo.value)){//仅数字字符
    return true;
    }
    else{
    alert("请输入数字!");
    return false;
    }
    }
    </script>
    </head>
    <body>
    <form name="form1" action="" method="post" onSubmit="return  isDigital()">
    转到第<input type="text" name="pageNo" size="3" value="1"   maxlength="3">页&nbsp;
    <input type="submit" value="确定" ></form>
    </body>
    </html>
      

  5.   

    谢谢!这个正是我想要的。
    另外,你提供的function keyUp()有点瑕疵,不知道你发现没有。
    那就是,如果缺省的值为1,你只能是以“1”开头的整数值。
    如果缺省值没有,那么你输入的第一个值的高位就成了不可改变的了(输入11,那么,只能是以“1”开头)
    我不知道该如何改进。另外,re=/^[1-9][0-9]{,2}$/;与re=/^[1-9][0-9]{,2}$/;不等价吗?
    我看到的介绍是等价的,在我的实现中却不是。稍后给分^_^
      

  6.   

    这个呀,将原句改为if(isNaN(meme))document.form1.pageNo.value = "";就可以了.{,2}这样的写法是不规范的.