2

前几天遇到个匹配ip地址的正则表达式问题,如下图图片描述

图中变量re就是变量ip的正则表达式,但为什么同样的匹配为什么结果却是一下true一下false呢?

lastIndex

看了正则表达式的一些方法,发现有个lastIndex,它表示下次匹配从字符串的第几个字符开始,初始值是0;当我用了全局g的时候。如果匹配成功,则lastIndex变成匹配字符串后面的位置,如果没有匹配成功,则lastIndex重置为0;lastIndex是正则对象的属性,不关心字符串是否是同一个,所以即使匹配的字符串在变,lastIndex也不会清零。如下图图片描述

问题解决

最后我把全局g去掉的话,如下图图片描述

解决了,感谢阅读


徐鹏云
353 声望5 粉丝

null == undefined null !== undefined