HTML输入数值的字段模式。

时间:2013-04-10 00:17:05

标签: jquery html regular-language

我有一个输入字段,我用它来从用户那里获得金额。我正在使用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]*">

2 个答案:

答案 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将为您验证,因此在这种情况下您不需要外部模式进行进一步验证。