只允许在文本框中键入数字

可能重复:
如何只允许使用jQuery的HTMLinput框中的数字(0-9)?

如何只允许在这个文本框中写入数字?

<input type="text" class="textfield" value="" id="extra7" name="extra7"> 

您可以订阅onkeypress事件:

 <input type="text" class="textfield" value="" id="extra7" name="extra7" onkeypress="return isNumber(event)" /> 

然后定义isNumber函数:

 function isNumber(evt) { evt = (evt) ? evt : window.event; var charCode = (evt.which) ? evt.which : evt.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)) { return false; } return true; } 

你可以在这里看到它的行动 。

用HTML5你可以做

 <input type="number"> 

您也可以使用正则expression式来限制input文本。

 <input type="text" pattern="^[0-9]*$" /> 

你也可以使用一些HTML5属性,一些浏览器可能已经利用了它们( type="number" min="0" )。

不pipe你做什么,都要记得在服务器端重新检查你的input:你永远不能假定客户端validation已经被执行了。