已经有另一个帖子了,但我不能对此发表评论。抱歉。
我用了
var pattern = new RegExp('^[1-9]\d*$');
var result = fieldValue.search(pattern);
但是如果我写12,我会得到一个“-1”
它只允许我从1到9编号,没有更多。
有什么不对劲吗?
假设语言是JavaScript,您需要对字符串中的反斜杠字符进行转义,使其具有反斜杠的值:
'\d'
是一个值为d
'\\d'
的字符串是一个值为\d
的字符串
var pattern = new RegExp('^[1-9]\\d*$');
JavaScript还具有正则表达式文字,避免了额外转义字符的需要:
var pattern = /^[1-9]\d*$/;
如果你想扩展它以允许带前导零的正整数,你可以这样做:
var pattern = /^\d*[1-9]+\d*$/
这将允许001作为有效输入(它是),而不允许000(它不是非零)。