javascript正则表达式不匹配前导零

时间:2016-12-13 21:48:34

标签: javascript regex

我的正则表达式与我的以下数字匹配

/^(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d{1,2})?$/

对于以下数字

返回true
1.xx
0.xx
100
1,000
1000

10,000
10000

我想将我的正则表达式更改为不匹配0.xx但匹配[1-9] .xx

2 个答案:

答案 0 :(得分:1)

您可以在开头添加否定前瞻:

^(?!0\.)(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d{1,2})?$
 ^^^^^^^^

请参阅regex demo

它将禁止以0.开头的任何值。如果可以有多个前导零,请在+之后添加0(?!0+\.)

答案 1 :(得分:1)

我有这个正则表达式:

^(?!0+\.)(?:[0-9]{1,2}(?:,\d{3})+|\d+)|(?:\.\d{1,2})|(?:\.x{2})?$

适用于您的号码

相关问题