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?
结果就是下面大神的回答,
贴个图
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
每个正则表达式都有一个 lastIndex 属性,用于记录上一次匹配结束的位置。
这和正则的匹配位置有关,第一次匹配到了12345,然后第二次从6开始,数字不够匹配为false,然后字符串到最后了,匹配位置又重置,第三次又匹配到了12345。
这里有个博客
http://blog.csdn.net/wfbob/ar...