正则有正则的优势,但并不是用在什么地方都很简便.
以下代码没有用正则,仅供参考...<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" >页 <input type="submit" value="确定" ></form>
</body>
</html>
以下代码没有用正则,仅供参考...<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" >页 <input type="submit" value="确定" ></form>
</body>
</html>
请问你的浏览器版本.
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>
}
</script>
==============
去掉上面的大括号!!!!
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">页
<input type="submit" value="确定" ></form>
</body>
</html>
另外,你提供的function keyUp()有点瑕疵,不知道你发现没有。
那就是,如果缺省的值为1,你只能是以“1”开头的整数值。
如果缺省值没有,那么你输入的第一个值的高位就成了不可改变的了(输入11,那么,只能是以“1”开头)
我不知道该如何改进。另外,re=/^[1-9][0-9]{,2}$/;与re=/^[1-9][0-9]{,2}$/;不等价吗?
我看到的介绍是等价的,在我的实现中却不是。稍后给分^_^