我有这个输入掩码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执行此操作?此外,第一个数字不应该为零,也许正则表达式是更好的解决方案。
答案 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 ,您可以从中学习一些代码。还有一个“整数”别名,它可能适用于你想要的东西(调整后缀),但似乎确实有一个错误。