String.replace第二个参数可以是函数,函数的参数为正则匹配的字符串,

解决方案 »

  1.   

    这里有篇帖子,你可以参考一下
    http://topic.csdn.net/u/20090305/13/33059d4e-832c-49b3-9409-d331f0b218a3.html
      

  2.   

    给你一个例子:<script>
     var str = "[:1:] [:2:]";
     var reg = /\[:\d{1,}:\]/g;
     if(reg.test(str)){
       var result = str.replace(reg, function($0){
        return ($0).replace(":","#");
       });
       alert(result);
     }
    </script>
      

  3.   


    无论何时产生一个成功的带插入语的匹配,$1...$9 属性的值都被修改,但是只有最近的九个可以被保存起来。下面的例子举例说明了 $1...$9 属性的用法: function matchDemo(){
       var s;
       var re = new RegExp("d(b+)(d)","ig");
       var str = "cdbBdbsbdbdz";
       var arr = re.exec(str);
       s = "$1 contains: " + RegExp.$1 + "\n";
       s += "$2 contains: " + RegExp.$2 + "\n";
       s += "$3 contains: " + RegExp.$3;
       return(s);
    }
      

  4.   

    参考文章 
    http://www.bjcan.com/hengxing/readlou.asp?id=1346$,是指prototype定义的一类方法 $("id") 得到的是页面id为"id"的元素 
    $F("id") 得到的是页面id为"id"的元素的值,这是只读的,不可写 2. 通用性方法 
    这个程序包里面包含了许多预定义的对象和通用性方法。编写这些方法的明显的目的就是为了减少你大量的重复编码和惯用法。 2.1. 使用 $()方法 
    $() 方法是在DOM中使用过于频繁的 document.getElementById() 方法的一个便利的简写,就像这个DOM方法一样,这个方法返回参数传入的id的那个元素。