将表单输入限制为单个数字

时间:2014-06-17 19:10:18

标签: javascript jquery html css twitter-bootstrap-3

我想将输入限制为键入的数字,但最多只能输入一个数字。例如' 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();}
    });

2 个答案:

答案 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>

http://jsfiddle.net/michaelburtonray/cxb8W/7/