在RobinHerbots输入掩码插件中,掩码无法正常工作

时间:2015-01-15 14:29:12

标签: jquery regex jquery-inputmask

我有这个输入掩码FIDDLE

<input data-inputmask="'mask':'[[[[[9]9]9].9]9]9,--€','greedy':false,'numericInput':true" />

但我不希望千位分隔符(点)可见,直到用户输入第4位数字。所以,目前的输入是:

 1,--€
 14,--€
 .145,--€
 1.450,--€

我需要的是合乎逻辑的:

 1,--€
 14,--€
 145,--€
 1.450,--€

我试过的其他面具根本不允许第四位:

 [[[[[9]9]9.]9]9]9,--€

目前我使用简单的面具:

 999.999,--€

...但我不希望看到完整的面具 ___.___, - €

有没有办法用current library执行此操作?此外,第一个数字不应该为零,也许正则表达式是更好的解决方案。

1 个答案:

答案 0 :(得分:2)

您最好的选择可能是覆盖“数字”别名,如下所示:

<html>
: <!-- includes etc. -->
<script>
$(document).ready(function(){
    $("#price").inputmask();
});
</script>
</head>
<body>
Price: <input id="price" data-inputmask="'alias': 'numeric', 'groupSeparator': '.', 'autoGroup': true, 'digits': 2, 'digitsOptional': true, 'radixPoint': ',', 'suffix': ' €', 'placeholder': '0', 'min': '0', 'max': '99999'"  />
</body>
</html>

选项应该是相当不言自明的,您可以根据需要进行修改。这与您的问题的不同之处在于,分数是可选的(并不总是被排除在外)。您可能想要阅读一些代码,尤其是 jquery.inputmask.numeric.extensions.js ,您可以从中学习一些代码。还有一个“整数”别名,它可能适用于你想要的东西(调整后缀),但似乎确实有一个错误。