1

尝试编写一个脚本来检查表单中的值是一个介于 1 到 99999 之间的数字。

1)脚本主要工作除了两件事如果你输入一个数字然后是字母它不会检测到你输入的字母和数字

2)我希望它在 onblur 事件上运行脚本,但是每次我尝试脚本都不起作用。

多年前学习Java,发现我忘记了大部分事情,如果人们能指出我哪里出错了,那就太好了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Please enter your age</title>
<script language="JavaScript1.2">
function checknumber(){
var x=document.checknum.pnum.value
/*does it contain non digits */
var anum=/(^\D+$)|(^\D+\.\D+$)/
if (anum.test(x))
{
alert("Please input a valid Runner ID between 1 to 99999 !")
testresult=false
}
/*is it above 99999*/
else if (x > 99999)
{
alert("Please input a valid Runner ID between 1 to 99999 !")
testresult=false
}
/*is it below 1*/
else if (x < 1)
{
alert("Please input a valid Runner ID between 1 to 99999 !")
testresult=false
}
return (testresult)
}
</script>
</head>
<body>
<form name="checknum" onSubmit="return checknumber()">
Please input a valid Runner ID between 1 to 99999:
<input type="text" name="pnum" onchange="checknumber()">
<input type="submit" value="Submit">
</form>
</body>
</html>

非常感谢达米安

4

1 回答 1

0

导入 Jquery 库并使用此功能

<script type="text/javascript">

$(document).ready(function(){    
$("#pnum").keypress(function (e)  
{ 
  //if the letter is not digit then display error and don't type anything
  if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57))
  {
    return false;
  } 
});
});

但文本框的 id

 <input type="text" name="pnum" id="pnum" maxLength="5" > 

这将确保您只能添加数字和 5 个字符

于 2012-08-19T13:05:52.960 回答