使用jQuery inputmask插件范围0-100

Nie*_*eAR 5 html javascript jquery input-mask jquery-inputmask

如何创建0到100范围的掩码?

$(document).ready(function() {
    $("#masked").inputmask(???);
});
Run Code Online (Sandbox Code Playgroud)

Jea*_*aul 19

你可以使用jquery.inputmask.regex.extensions.js它.您可以在此链接上找到包含所有扩展名的原始js .关于正则表达式扩展(以及所有其他扩展)的github部分可以在jquery.inputmask #regex-extensions上找到.

如果包含该扩展名,则可以使用以下正则表达式:

^[1-9][0-9]?$|^100$
Run Code Online (Sandbox Code Playgroud)

这匹配1或2位数字和数字100.

然后你就像正常一样将它传递给inputmask插件:

HTML

Test: <input type="text" id="example1">
Run Code Online (Sandbox Code Playgroud)

JavaScript的

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

这是一个证明它有效的jsFiddle:

>看看演示


编辑1

我刚看到你想要与我上面所做的0-100相反1-100.

要进行匹配0-100,只需更改"^[1-9][0-9]?$|^100$""^[0-9][0-9]?$|^100$"

当我改变了1在"^ [ 1?-9] [0-9] $ | ^ $ 100"到0.可以找到更正后的jsFiddle here.


编辑2

2015年1月14日起,现在也可以使用数字扩展名.使用该扩展,您现在可以简单地对整数范围执行以下操作:

$("#example1").inputmask('integer',{min:1, max:100});
Run Code Online (Sandbox Code Playgroud)

对于十进制数字:

$("#example1").inputmask('decimal',{min:1, max:100});
Run Code Online (Sandbox Code Playgroud)

演示.


编辑3

截至2016年9月,语法已更改:

$("#example1").inputmask("numeric", {
  min: 0,
  max: 100
});
Run Code Online (Sandbox Code Playgroud)

新演示

请注意,它现在仅输入数字并且用户单击输入框外部的某个位置后才起作用.