蒙板输入插件和正则表达式(十进制数)

时间:2013-08-01 13:52:25

标签: jquery jquery-plugins maskedtextbox maskedinput

我有一个文本输入字段,我想在其中插入数字,然后是逗号,然后只插入两位小数。

我正在尝试使用Masked Input Plugin通过jQuery获取此内容,但似乎无法正常工作。

这就是我所拥有的:

<input type="text" name="cash" id="number"/>

<script type="text/javascript">
$.mask.definitions['p']='[0-9]+';
$.mask.definitions['d']='[0-9]{2}';
$("#number").mask("p,d");
<script>

但结果是一个只有一个数字的面具,然后是一个逗号,然后是我无法写的东西(它不是数字,也不是字符)

_,_

如何在此插件中使用正则表达式?

3 个答案:

答案 0 :(得分:6)

我建议您使用 jquery.maskMoney - https://github.com/plentz/jquery-maskmoney

这很容易实现:

<input type="text" id="cash"/>

<script src="jquery.maskMoney.js"></script>
<script>
    $("#cash").maskMoney("mask");
</script>

答案 1 :(得分:1)

试试这个,

$("#number").mask("99,99");

Working Demo

答案 2 :(得分:0)

通过jQuery屏蔽输入的一个非常好的插件(在我看来)就是你正在使用的插件。为了通过jQuery进行验证,我设法找到了这个: http://plugins.jquery.com/validate

在DOC中描述的很差,但下载中包含的演示可以解决问题。它也有一些屏蔽功能,但不幸的是不如你现在使用的插件一样好。

作为在屏蔽字段中输入的结果您应该只获取在掩码中指定的值。这个插件不允许用户放置他们应该给出的其他字符。请记住,这个插件并不总是正确的表达式,你可以在pligun本身抛出错误:/然后由于JS错误你有一个乱糟糟的掩码,开始查看。