3

我有这个正则表达式来匹配整数

var reg = /^\d+$/;

我还希望它确保前面没有放置 1 个或多个零

var reg = ^[0\d]\d+$

这是我到目前为止但没有用的。

如何才能做到这一点?

通过测试

1
12
1232164

失败的测试

0
01
00004241
fbhf
""
a123
4

3 回答 3

12

我想你想要:

var reg = "^[1-9]\d*$";

如果必须匹配空字符串,最好在运行 reg exp 之前检查空字符串。否则,你可以用这个更难阅读的正则表达式来做到这一点:

var reg = "^(|[1-9]\d*)$";

它检查一个空字符串或一个或多个以零开头的数字。

于 2013-10-30T00:41:59.400 回答
9

试试这个正则表达式

[1-9]+[0-9]*

这将使您有一个不以零开头的数字

于 2013-10-30T00:34:00.793 回答
0

试试这个解决方案:

0*([1-9][0-9]*|0)

于 2018-01-03T12:38:25.340 回答