function f()
{
    var s="abcdefghijklmn";
    s=s.replace(/(.)/gi,",$1");
    if(s.length>0) s=s.substr(1);
    alert(s);
}不要陷到里面去了,解决问题的办法有很多种。

解决方案 »

  1.   

    谢谢meizz(梅花雪),我学正则,很多是看你的回贴学的.
    但确实有这种需求怎么办?
    replace(rgExp,"$1(插入0)$10") 怎么让$1+0跟$10区分开来?
      

  2.   

    但replace可以:
    s="abcdefghijklmn";
    re=/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)/gi;
    s=s.replace(re,"$10,$14");
    alert(s);
    //结果是:j,n
      

  3.   

    RegEXp.$10是不行.但replace是可以的啊.
      

  4.   

    定义这么多的组的话就和正则的初衷分离了,假如一个字符串,每个字母都定义一个组那还匹配什么啊,直接用索引拿值就可以了。一般到$9差不多够用了
    如果实在要用$10,感觉不如用个计数器
    <script language=javascript>
    s="abcdefghijklmn";
    re=/[a-z]/gi;
    var i=1
    s=s.replace(re,function(a,b){if((i++)==10)alert(a)});
    </script>
      

  5.   

    function c() {
    var p = /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)/;
    var s = "abcdefghij";
    var j = Array.prototype.slice.call(s.match(p), 1).join("0");
    alert(j);
    }
    c();
    meizz老师。。昨天那个已经写完啦。。但是颜色控制那个,不懂
      

  6.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>shawl.qiu template</title>
    <script type="text/javascript">
    //<![CDATA[
     function f() {
      s="abcdefghijklmn";
      re=/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)/gi;
      //每个字符串之间插入逗号.
      s=s.replace(re,function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14){
      return $1+','+$2+','+$3+','+$4+','+$5+','+$6+','+$7+','+$8+','+$9+','+$10+
      ','+$11+','+$12+','+$13+','+$14
      });
       alert(s);
     }
     f();
    //]]>
    </script>
    </head>
    <body></body>
    </html>