web-dev-qa-db-ja.com

jQuery inputmaskプラグインを使用した範囲0〜100

0〜100の範囲のマスクを作成するにはどうすればよいですか?

$(document).ready(function() {
    $("#masked").inputmask(???);
});
5
NieAR

そのためにjquery.inputmask.regex.extensions.jsを使用できます。あなたはすべての拡張子を持つ生のjsを見つけることができます このリンク上で 。正規表現拡張機能(および他のすべての拡張機能)に関するgithubの部分は、 jquery.inputmask#regex-extensions にあります。

その拡張機能が含まれている場合は、次の正規表現を使用できます。

^[1-9][0-9]?$|^100$

これは、1桁または2桁と数字100に一致します。

次に、通常どおりそれをinputmaskプラグインに渡すだけです。

HTML

Test: <input type="text" id="example1">

JavaScript

$(document).ready(function(){
    $("#example1").inputmask('Regex', { regex: "^[1-9][0-9]?$|^100$" });
});

これが機能することを証明するjsFiddleです。

>デモを見る


編集1

上記で行った0-100とは対照的に1-100を一致させたいと思っているのを見ました。

0-100を照合するには、"^[1-9][0-9]?$|^100$""^[0-9][0-9]?$|^100$"に変更するだけです。

"^ [1-9] [の1を変更した場所0-9]?$ | ^ 100 $ "から。修正されたjsFiddleは見つかります here


編集2

2015年1月14日 現在、 数値拡張子 を使用することでも可能になりました。この拡張機能を使用すると、整数範囲に対して次のことを簡単に実行できます。

$("#example1").inputmask('integer',{min:1, max:100});

そして10進数の場合:

$("#example1").inputmask('decimal',{min:1, max:100});

デモ を参照してください。


編集3

2016年9月の時点で、構文が変更されました。

$("#example1").inputmask("numeric", {
  min: 0,
  max: 100
});

NEW DEMO を参照してください

現在は機能するだけですafter番号が入力され、ユーザーが入力ボックスの外側をクリックしたことに注意してください。

20
Jean-Paul