此处已有其他帖子,但我无法发表评论。 对不起。
我用过
var pattern = new RegExp('^[1-9]\d*$');
var result = fieldValue.search(pattern);
但是我得到了一个" -1"如果我把12
它允许我从1到9的数字,而不是更多。
有什么不对吗?
答案 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(非非零)。