首先给一个神奇的图: 我的反应,精分吧!一会儿true一会儿false的... 后来发现,把g去掉后就正常了,那这是为什么呢??lastIndex惹得鬼! 正文: lastIndex 全局正则表达是,有一个属性:lastIndex,这个属性是用来存放上一次匹配文本之后的第一个字符的位置. exec()和test()方法,都是以lastIndex属性中存的位置,作为下次正则匹配检索的起点.这也就是为什么会出现两次不一样的结果了. 解决办法:使用strin.search(reg)来替换test()了…