很多程序员喜欢用JavaScript本身的isNaN()的方法来判断客户的输入,但本人自己写了个方法isNum()也很实用,也能灵活的限制用户的输入,具体例子如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>测试客户输入</title>
<script language="javascript">
//判断客户输入的方法
function checkNum(obj){
//定义num变量来接收带入的参数
var num=obj.value;
//判断是否全数字
if(!isNum(num)){
alert("请输入有效数量");
}else{
//提交当前表单
obj.parentNode.submit();
}
}
function isNum(par){
var i,j,num;
num="0123456789";
//判断客户是否输入
if(par.length==0){
return false;
}else{
//依次截取客户输入的是否在0-9之间的数字组成
for(i=0;i<par.length;i++){
j=num.indexOf(par.charAt(i));
}
if(j==-1){
return false;
}else{
return true;
}
}
}
</script>
</head>
<table width="200" border="1">
<tr style="background-color:#999">
<td></td>
<td></td>
</tr>
<tr>
<td>请输入:</td>
<td>
<form id="form1" name="form1" method="post" action="OrderServlet">
<input type="hidden" name="ItemID" id="ItemID" value="ItemID()"/>
<input name="numItems" type="text" id="numItems" size="5" maxlength="5" value="1" οnblur="checkNum(this)"/>
</form>
</td>
</tr>
<tr>
<td>请输入:</td>
<td>
<form id="form1" name="form1" method="post" action="OrderServlet">
<input type="hidden" name="ItemID" id="ItemID" value="ItemID()"/>
<input name="numItems" type="text" id="numItems" size="5" maxlength="5" value="1" οnblur="checkNum(this)"/>
</form>
</td>
</tr>
<tr>
<td>请输入:</td>
<td>
<form id="form1" name="form1" method="post" action="OrderServlet">
<input type="hidden" name="ItemID" id="ItemID" value="ItemID()"/>
<input name="numItems" type="text" id="numItems" size="5" maxlength="5" value="1" οnblur="checkNum(this)"/>
</form>
</td>
</tr>
</table>
<body>
</body>
</html>
效果图: