转自:http://bbs.blueidea.com/thread-2704718-1-1.html

[js]删除以 [ 开始以 ]结尾且不含:内容<textarea id="aa" cols=50 rows=10></textarea>
[js]删除以 [ 开始以 ]结尾且不含:内容
<textarea id="bb" cols=50 rows=10></textarea>


+++++++++++++
不是reg.test改变了str,而是reg.test改变了reg的内部状态
像这样的:
alert(/\w*\[[^:]*\]\w*/g.test(str));
alert(/\w*\[[^:]*\]\w*/g.test(str));
alert(/\w*\[[^:]*\]\w*/g.test(str));
alert(/\w*\[[^:]*\]\w*/g.test(str));
就一直会有确定的结果,因为每一句里的正则表达式对象都是独立的

虽然没看到有正式的资料,但我估计是这样的:
加了全局标志的正则对象在test时会记录成功匹配的位置,下次调用test,会从该位置继续
下面两段代码的执行结果可以证明这一点:


 提示:您可以先修改部分代码再运行


 


 提示:您可以先修改部分代码再运行

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2023-02-22
  • 2021-06-04
  • 2021-05-27
  • 2021-09-28
  • 2022-12-23
  • 2022-01-23
猜你喜欢
  • 2022-12-23
  • 2021-06-06
  • 2022-12-23
  • 2021-06-23
  • 2021-07-03
  • 2021-08-13
相关资源
相似解决方案