Javascript正则表达式与.test()

前端之家收集整理的这篇文章主要介绍了Javascript正则表达式与.test()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. > var p = /abc/gi;
  2. > var s = "abc";
  3. > p.test(s);
  4. true
  5. > p.test(s);
  6. false;

当我在Chrome控制台上运行此代码时,我在上面输出了此输出.每次我调用’.test()’,我都会得到不同的价值.有人可以向我解释为什么会这样吗?谢谢

@H_403_6@

解决方法

行为是由于“g”修饰符,即匹配三次,第四次不匹配:
  1. > var p = /a/gi;
  2. > var s = "aaa";
  3. > p.test(s)
  4. true
  5. > p.test(s)
  6. true
  7. > p.test(s)
  8. true
  9. > p.test(s)
  10. false

看到类似的问题:Why RegExp with global flag in Javascript give wrong results?

@H_403_6@ @H_403_6@

猜你在找的JavaScript相关文章