正则表达式匹配整数而不导致零(s)

时间:2013-10-30 00:31:05

标签: javascript regex

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

var reg = /^\d+$/;

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

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

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

如何做到这一点?

通过考试

1
12
1232164

测试失败

0
01
00004241
fbhf
""
a123

3 个答案:

答案 0 :(得分:10)

我想你想要:

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

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

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

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

答案 1 :(得分:7)

试试这个正则表达式

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

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

答案 2 :(得分:0)

试试这个解决方案:

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