我为货币编写了一个正则表达式,它不应该接受0或者数字以0开头
/^\$?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2}){0,1}$/
但它仍然接受0,数字从0开始。
答案 0 :(得分:0)
通常,将负片与正则表达式匹配并不是最简单的事情。一个可能使您的代码更易于阅读的选项是使用多个正则表达式,例如,第一个
if (not /^\$0/)
if (/whatever else you do want it to match/)
// whatever
答案 1 :(得分:0)
我想你想要/^\$?(?:[1-9][0-9]*|[1-9][0-9]{0,2}(?:,[0-9]{3})*)(?:\.[0-9]{2})?$/
。不确定这是否正是您所需要的,但主要的一点是将[1-9]
与前导数字相匹配。
编辑:不允许$.99
,但您的示例并非如此,因此不确定您是否需要。