2010-07-06 28 views
1

我有一个网页,其中一个文本框用于接收美元价值。我的要求是用户应该在$ sysmbol之后插入数字。第二个要求是用户有权只插入这个$ 123.45。小数点前不应超过三位数,小数点后不应超过两位数。请帮助我通过提供适当的正则表达式验证此值..在此先感谢。

+1

是'12' $有效吗? – Eric 2010-07-06 12:15:57

回答

2
\$\d{1,3}\.\d{1,2} 

\$\d{1,3}\.\d{2} 
如果要强制最后一个小数

有2个位数

3

尝试:

\$\d{1,3}(\.\d{1,2})? 

\ $ =美元,逃脱,因为它是一个特殊字符
\ d =一个数字; {1,3} = 1到3次重复
()? =可选组:
\。 =一个点(转义) \ d {1,2} =一个或两个数字

要播放正则表达式(并测试它们),您可以使用Expresso或类似工具。

+1

如果您不希望在货币使用后或之前有东西 ^ \ $ \ d {1,3}(\。\ d {1,2})?$ – Marks 2010-07-06 12:16:42

+0

$ .59不会是有效金额这个正则表达式。我知道我经常从一开始就下降0,如果我不得不把它放进去,我会很生气。 – I82Much 2010-07-06 12:17:42

+0

@ I82Much:我认为从这个问题看起来至少需要一位数字;顺便说一下,我会很烦恼,必须把数额放在... – 2010-07-06 12:19:23