美文网首页
JavaScript中误用/g导致的正则test()无法正确重复

JavaScript中误用/g导致的正则test()无法正确重复

作者: praycis | 来源:发表于2018-05-17 18:34 被阅读0次

    这个问题实际上是/g导致的,而此时也才发现,实际上这个正则我误用了一个/g.因为/g代表全局匹配,所以判断正则时内部是有一个lastIndex来记录最后匹配的位置.当重复调用的时候,会接着上次的lastIndex继续匹配,故而将导致判断出错.明白了原理解决起来也就很明了了:
    1.去掉/g,在不需要/g的情况下不要随意添加/g标识
    2.第二次匹配前,手动将lastIndex置0,以上面的例子来说:reg.lastIndex()=0即可.

    相关文章

      网友评论

          本文标题:JavaScript中误用/g导致的正则test()无法正确重复

          本文链接:https://www.haomeiwen.com/subject/sldidftx.html