2014-06-17 49 views
0

我想將輸入限制爲鍵入的數字,但最多隻有一個數字。例如'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

http://jasny.github.io/bootstrap/javascript/#inputmask - 可能有助於(或類似的插件) – Blazemonger

+0

到底是什麼輸入所需的格式? –

+0

仍不清楚。是「9.」好嗎?那麼「.9」呢?如果你只想讓數字0到9,請說出來。 –

回答

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();} 
    });