关于IE的RegExp.exec

问题:"A[B]C[D]E[F]G"将其分为两个数组,分别是 ACEG 和 [B][D][F].

 

代码如下:

var st="A[B]C[D]E[F]G";
var reg =/\[\w\]/ig;
var s1 = st.replace(reg,"");
var s2=[];

 

var arr;
while((arr=reg.exec(st))!=null)s2.push(arr[0]);
alert(s1);
alert(s2.join(""));

 

FF下正确显示,IE下S2为空.

 

网上查不到资料,请各位指点一二.

 

查询过程中得了个意外收获

var st="A[B]C[D]E[F]G";
var reg =/\[\w\]/ig;
var s1 = st.replace(reg,"");
var s2=[];

 

var arr;
while((arr=/\[\w\]/ig.exec(st))!=null)s2.push(arr[0]);
alert(s1);
alert(s2.join(""));

该写法IE死循环RegExp的lastIndex没有得到更新

文章地址:http://www.openboxdev.com/?p=203

 

posted @ 2010-03-29 10:39  _Chill  阅读(558)  评论(6编辑  收藏  举报