JS replace方法

var str = '1abc2defg3hijk';
str.replace(/d/g,function(a,b,c,d){
    console.log("a:",a);// 匹配到的字符
    console.log("b:",b);// 匹配时的字符最小索引位置(RegExp.index)
    console.log("c:",c);// 被匹配的字符串(RegExp.input)
    console.log("d:",d);// undefined
});
String.prototype.deentityify = (function(){
    var entity = {
        quot:'"',
        lt:'<',
        gt:'>'
    };
    return function(){
           console.log(this);
           return this.replace(/&([^&;]+);/g,
               function(a,b,c,d){
                    console.log("a:",a); //&lt;
                    console.log("b:",b); // lt
                    console.log("c:",c); // 0
                    console.log("d:",d); // &lt;&quot;&gt;
                    var r = entity[b];
                    return typeof r === 'string' ? r : a;
                })
            }
})();
document.write('&lt;&quot;&gt;'.deentityify());
原文地址:https://www.cnblogs.com/yanyiyi/p/7099810.html