什么是“任何正整数,不包括0”的正则表达式

时间:2015-05-08 04:29:21

标签: javascript regex integer

此处已有其他帖子,但我无法发表评论。 对不起。

我用过

var pattern = new RegExp('^[1-9]\d*$'); 
var result = fieldValue.search(pattern);

但是我得到了一个" -1"如果我把12

它允许我从1到9的数字,而不是更多。

有什么不对吗?

2 个答案:

答案 0 :(得分:4)

假设该语言是JavaScript,您需要转义字符串中的反斜杠字符,以使其具有反斜杠值:

'\d'是一个值为d的字符串 '\\d'是一个值为\d

的字符串
var pattern = new RegExp('^[1-9]\\d*$');

JavaScript还有正则表达式文字,这样就不需要额外的转义字符了:

var pattern = /^[1-9]\d*$/;

答案 1 :(得分:2)

如果你想扩展它以允许带有前导零的正整数,你可以这样做:

var pattern = /^\d*[1-9]+\d*$/

这将允许001作为有效输入(它是),而不允许000(非非零)。