1

我有一个输入字段,用于从用户那里获取货币金额。我正在使用 jQuery Money Mask函数在用户的输入上放置一个掩码。例如,如果用户键入“100000”,它将在输入字段中显示为“$ 1,000.00”。问题是我为输入字段设置了一个模式,将其限制为仅数值。我需要修改这个正则表达式 ( pattern="[0-9]*") 以便它接受货币字符串。非常感谢任何帮助!

输入字段的代码:

<input name="rentPayment[paymentAmount]" id="paymentAmount" placeholder="0.00" value="" type="text" pattern="[0-9]*">

4

2 回答 2

3

我不熟悉 JQuery Money Mask,但如果您只需要正则表达式,那么以下应该足以允许货币值。

pattern="[0-9$,.]*" - would allow 0-9 dollar sign, comma and period zero or more times.
于 2013-04-10T00:22:38.663 回答
2

怎么样:

\$(\d(,?\d+)*)+(\.\d+)?

这将支持:

324234.23423
美元 3,242,343
美元 3,242.4234
美元 3242 美元

但我不建议使用这种方法,因为它取决于用户的本地化,并且它还依赖于插件 - 这实际上只是掩盖了用户的输入。我更愿意像您所做的那样验证用户的字符串,并让掩码插件完成它的美化工作。因此,您需要在插件发生之前进行验证。

一个可行的解决方案是将验证字段留空 - Money Mask 将为您验证,因此在这种情况下您不需要外部模式来进行进一步验证。

于 2013-04-10T00:23:25.553 回答