使用jQuery inputmask插件范围0-100

时间:2014-10-30 09:52:18

标签: javascript jquery html input-mask jquery-inputmask

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

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

4 个答案:

答案 0 :(得分:18)

您可以使用jquery.inputmask.regex.extensions.js。您可以找到包含所有扩展名on this link的原始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:

> SEE DEMO


编辑1

我刚刚看到您希望匹配0-100与我上面提到的1-100相对应。

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

即可

我在&#34; ^ [ 1 -9] [0-9]中更改了 1 ?$ | ^ 100 $&#34;到 0 。修正后的jsFiddle可以找到 here


编辑2

January 14, 2015开始,现在也可以使用numeric extension。使用该扩展,您现在可以简单地对整数范围执行以下操作:

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

对于十进制数字:

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

请参阅demo


编辑3

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

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

请参阅NEW DEMO

请注意,现在只有在输入数字并且用户点击了输入框之外的某个位置之后才能正常工作。

答案 1 :(得分:0)

嗯,我正在寻找一种解决方案,将我的字段中介于 0.00 和 100.00 之间的所有值与 jQuery.inputmask 匹配。

我看到了要求用户为插件添加外部库的公认答案,我设法想出了一个内置解决方案。

就这样吧。

<input type="text" data-inputmask data-inputmask-mask="(99)|(100)" name="field"/>

或者,使用 jQuery

jQuery(function($) {
    $('input').inputmask("(99)|(100)");
});

渲染如下

enter image description here

答案 2 :(得分:-1)

答案 3 :(得分:-2)

基于inputmask plugin hompage

$(selector).inputmask("99-9999999");