我有一个输入字段,我用它来从用户那里获得金额。我正在使用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]*">
答案 0 :(得分:3)
我不熟悉JQuery Money Mask,但如果你需要的只是正则表达式,那么关注应该足以允许货币价值。
pattern="[0-9$,.]*" - would allow 0-9 dollar sign, comma and period zero or more times.
答案 1 :(得分:2)
怎么样:
\$(\d(,?\d+)*)+(\.\d+)?
这将支持:
$ 324234.23423
$ 3242343个
$ 3,242.4234
$ 3242
但我不会建议这种方法,因为它取决于用户的本地化,并且它还依赖于插件 - 这实际上只是屏蔽用户的输入。我宁愿像你一样验证用户的字符串,让屏蔽插件做它美化的工作。因此,您需要在插件发生之前进行验证。
一个可行的解决方案是将验证字段留空 - Money Mask将为您验证,因此在这种情况下您不需要外部模式进行进一步验证。