代码改变世界

javascript中字符串的replace方法中的函数参数值

2012-07-24 16:43  VVG  阅读(142)  评论(0)    收藏  举报

replace 方法备忘:

var reg = new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi");
    var url = "123http://www.qidian.com/BookReader/1017141,20361055.aspx111111111";
    var rep = url.replace(reg,"$1ShowBook.aspx?bookId=$2&chapterId=$3");
    //alert(rep);
    var rep2 = url.replace(reg,function(){
        for(var i=0;i<arguments.length;i++){
            console.log(arguments[i]);
        }
        /*输出:
          http://www.qidian.com/BookReader/1017141,20361055.aspx
          http://www.qidian.com/BookReader/
          1017141
          20361055
          0
          http://www.qidian.com/BookReader/1017141,20361055.aspx

          参数一:匹配表达式的字符串
          参数二:分组一
          参数三:分组二
          参数四:分组三
          ......
          参数N:分组N
          参数N+1:匹配出现在字符串中的位置
          参数N+2:验证正则的字符串
        */

    });