我使用普通香草JavaScript,需要一些帮助我的正则表达式。必须允许以下格式的货币,并且仅限于这些格式(不限制0的数量(数十、数百、数千等)。(所允许的美元数额):
var regex =/^$.?1-9*(.0-9{0,2})?$/;
目前,它不允许输入0.99这样的金额。
发布于 2012-02-23 15:35:28
尝尝这个
^\$?(?:\d+|\d{1,3}(?:,\d{1,3})*)(?:\.\d{2})?$看吧,在Regexr上
唯一不匹配的是你最后的第三个例子,它在点前有一个空格。这有效吗?
编辑:
我的第一个解决方案有一个限制,它将接受以0开头的数字,比如001。此解决方案使用负面展望来避免这种情况:
^\$?(?!0\d)(?:\d+|\d{1,3}(?:,\d{1,3})*)(?:\.\d{2})?$看吧,在Regexr上
没有前瞻性的解决方案
^\$?(?:0|[1-9]\d*|[1-9]\d{0,2}(?:,\d{1,3})*)(?:\.\d{2})?$在雷杰克斯上看
https://stackoverflow.com/questions/9415780
复制相似问题