var re = /^[1-9]\d{4,10}$/gi;
var str = "123456";
console.log(re.test(str));
console.log(re.test(str));
console.log(re.test(str));
输出为truefalsetrue
why?
结果就是下面大神的回答,
贴个图
var re = /^[1-9]\d{4,10}$/gi;
var str = "123456";
console.log(re.test(str));
console.log(re.test(str));
console.log(re.test(str));
输出为truefalsetrue
why?
结果就是下面大神的回答,
贴个图
这和正则的匹配位置有关,第一次匹配到了12345,然后第二次从6开始,数字不够匹配为false,然后字符串到最后了,匹配位置又重置,第三次又匹配到了12345。
1 回答856 阅读✓ 已解决
1 回答1.1k 阅读
2 回答775 阅读
2 回答619 阅读
2 回答607 阅读
1 回答681 阅读
2 回答520 阅读
每个正则表达式都有一个 lastIndex 属性,用于记录上一次匹配结束的位置。