我想将输入限制为键入的数字,但最多只能输入一个数字。例如' 0',' 1',' 2',' 9',但不是' 12'或者' 99'。
我的问题是我可以在当前代码中输入任意数量的数字。
我正在使用的当前代码转载如下。 Here is a JSFiddle where you can test it.
$('.numbersOnly').keypress(function(e) {
var verified = (e.which == 8 || e.which == undefined || e.which == 0) ? null : String.fromCharCode(e.which).match(/[^0-9]/);
if (verified) {e.preventDefault();}
});
答案 0 :(得分:0)
我能想到的最简单的方法:
$('.numbersOnly').keypress(function(e) {
var allowed = /[^0-9]/;
if (!/\./.test($(this).val())) allowed = /[^0-9\.]/;
var verified = (e.which == 8 || e.which == undefined || e.which == 0) ? null : String.fromCharCode(e.which).match(allowed);
if (verified) {e.preventDefault();}
});
答案 1 :(得分:0)
你也可以使用type =“number”的输入元素,它有很好的支持(http://caniuse.com/input-number),并使验证成为一个内置的浏览器功能,不需要javascript(除了作为备份)。< / p>
<form>
<input type="number" name="quantity" min="0" max="9">
<input type="submit">
</form>