var text = 'cat, bat, sat, fat';
var pos = text.search(/.at/); while (pos != -1) {
alert(pos);
var pos = text.search(/.at/);
}
我这个程序有错误但就是不知道应该怎么做单单一个search()只能匹配第一个,我想要全部匹配掉

解决方案 »

  1.   

      var text = 'cat, bat, sat, fat',reg=/.at/g;
      while ( m= reg.exec(text)) alert( m )
    或者
      text.replace(/.at/g,function(s){ alert(s)  })
      

  2.   

    var text='cat, bat, sat, fat';
    var re=/.at/g;
    var match;
    while((match=re.exec(text))!=null){
    alert(match);
    }
      

  3.   

    LZ可以这样写:var text = 'cat, bat, sat, fat';
    var pos = text.match(/.at/g);
    for(var i = 0; i < pos.length; i++) {
        alert(pos[i]);
    }
      

  4.   

    var text = 'cat, bat, sat, fat';
        var pos = text.match(/.at/g);
     
        //while (pos != -1) {
            alert(pos);
           // var pos = text.search(/.at/);
        //}
      

  5.   

    但是search不行吗??我想用循环的方式
      

  6.   

    search,match不会移动
    exec可以
    text.replace(/.at/g,function(s,i){ alert(i)  }) 
    这样也可以获得位置
      

  7.   

    它忽略 regexp 的 lastIndex 属性