Validation 货币验证sholdn';t不允许零或数字以零开头
我已经为货币编写了一个正则表达式,它不应该接受0或一个以0开头的数字Validation 货币验证sholdn';t不允许零或数字以零开头,validation,Validation,我已经为货币编写了一个正则表达式,它不应该接受0或一个以0开头的数字 /^\$?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2}){0,1}$/ 但它仍然接受0,数字以0开头。一般来说,将负数与正则表达式匹配不是最容易的事情。一个可能会使代码更具可读性的选项是使用多个正则表达式,例如,第一个正则表达式 if (not /^\$0/) if (/whatever else you do want it to match/) // whatever 我想你
/^\$?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2}){0,1}$/
但它仍然接受0,数字以0开头。一般来说,将负数与正则表达式匹配不是最容易的事情。一个可能会使代码更具可读性的选项是使用多个正则表达式,例如,第一个正则表达式
if (not /^\$0/)
if (/whatever else you do want it to match/)
// whatever
我想你想要
/^\$(?:[1-9][0-9]*.[1-9][0-9]{0,2}(?:,[0-9]{3})*)(?:\[0-9]{2})?$/
。不确定这是否正是您需要的,但主要的一点是匹配前导数字的[1-9]
编辑:不允许使用
$.99
,但您的示例也不允许,因此不确定您是否需要。非常感谢您的回答。我期待着您给出的建议。