我希望使用JavaScript中的正则表达式匹配1到4位且不以0开头的数字。我试过了:
^[^0]\d{1,4}$
但这不起作用。
JavaScript中{1,4}
有问题吗?
它应该检查数字是否匹配1到4次,不应该吗?
答案 0 :(得分:7)
^[^0]\d{1,4}$
表示除0后跟1到4位数之外的任何内容。因此,以下内容将匹配:
如果您想要任何1到4位数字,但没有您想要的0:
^(?!0)\d{1,4}$
这将匹配:
但不是:
(?!0)
是一个否定前瞻,它断言字符串不以包含的模式开头,在本例中为0
。
答案 1 :(得分:6)
您的正则表达式不正确。 Javascript没有问题。
这是你想要的正则表达式:
^[1-9]\d{0,3}$
基本上:
[1-9]
匹配任何非0
\d{0,3}
最多可匹配3个数字,从0到9 你拥有的正则表达式将匹配这些:
Z000
.123
-111
答案 2 :(得分:2)
请向我们展示不起作用的代码。
这就是你现在正在做的事情:
0
所以你可以产生5位数。你必须纠正这一点。如果您提供代码和上下文,我们可以为您提供帮助。