/<tag\s+id=\d+>/ig;
g属性替换所有。。

解决方案 »

  1.   

    就是换的值是第一个<tag id=2>,第二个<tag id=5> ,第三个<tag id=3>,这里的id是可变的,是别的地方传过来的参数
      

  2.   

    <script type="text/javascript">
    var str = "asdasasdaaaaa<tag id=1>bbsdabsbda<tag id=9><tag id=1213>sdaaaaaaaaaaaaaaaaa", pat = /(<tag\s+id=(\d+)>)/ig;
    while (pat.test(str)) alert(RegExp.$1 + ":" + RegExp.$2);
    </script>
      

  3.   

    <script>
    var str='我现在想替换一个这样的字符串asdasasdaaaaa<tag id=1>bbsdabsbda<tag id=9><tag id=1213>sdaaaaaaaaaaaaaaaa想';
    var re=/<tag[\s\S]*?id=(\d+)[\s\S]*?>/ig;
    str=str.replace(re," $1 ");
    alert(str);
    </script>
      

  4.   

    var str = "asdasasdaaaaa<tag id=1>bbsdabsbda<tag id=1><tag id=1213>sdaaaaaaaaaaaaaaaaa", pat = /(<tag\s+id=(\d+)>)/ig;
    var aa = "a,b,c".split(",");
    var i=0;
    while (pat.test(str)){ str.replace("<tag id="+aa[i]+">",RegExp.$1);
    i++;
    }
    我现在想把a,b,c替换到上面这个<tag id=[/d]>里面,可是如果上面前俩个<tag>的值是一样的,怎么能定位到每个tag呢?谢谢你帮助我
      

  5.   

    我找到答案了,谢谢你
    <script type="text/javascript">
    var str = "asdasasdaaaaa<tag id=1>bbsdabsbda<tag id=1><tag id=1213>sdaaaaaaaaaaaaaaaaa", pat = /(<tag\s+id=(\d+)>)/ig;
    var aa = "a,b,c".split(",");
    var i=0;
    while (pat.test(str)){
    alert(RegExp.$1);
    alert("<tag id="+aa[i]+">");
    str = str.replace(RegExp.$1,"<tag id="+aa[i]+">");
    i++;
    }
    alert(str);
    //alert(RegExp.$1  + ":" + RegExp.$2);
    </script>