【发布时间】:2012-03-14 00:28:06
【问题描述】:
我正在使用普通的 JavaScript,需要一些关于我的正则表达式的帮助。必须允许使用以下格式的货币,并且只能使用这些格式(对于允许的美元金额,0 的数量(十、百、千等)没有限制):
- 25,000 美元
- $25000
- 25,000
- 25000
- 25000.01
- 25,000.99
- 2000.99
- 50.00
- 50
- 1.95
- 1 .99
- 0.25
- 0.25 美元
- 0.2
- 2.3
- 2000.5
- .75
var 正则表达式 = /^\$?.?[1-9][0-9,]*(.[0-9]{0,2})?$/;
目前,它不允许输入像 0.99 这样的金额。
【问题讨论】:
-
所以...您只想允许数字和单个句点?句点后最多两个数字,还是总是句点后两个数字?
-
这里是一个测试正则表达式的好网站:fileformat.info/tool/regex.htm
-
@DavidThomas - $ 和逗号应该是可选的。最大值没有限制,基本上只允许有人会想到从一美分或更高的0.01、0.01、0.99、2、2.00等输入的任何格式。
-
@northpole 这是一个很棒的网站! Zoolander,似乎正则表达式是正确的,希望你必须逃避更多的东西(你可以在那个正则表达式网站上看到究竟是什么
标签: javascript regex decimal currency