1)String.prototype.replace(str,replaceSt)
2)String.prototype.replace(reg,replaceSt)
3)String.prototype.replace(str,function)
现在说明后二个的应用,
用法一:·String.prototype.replace(reg,replaceSt)
说明,反向引用是用dollar符引用分组内的内容,将分组的内容捕获,从左到右依次为dollar符1到dollar符n进行表示,如下dollar符1代表第一个分组(\w+)
name = "Doe, John";
name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
结果为交换二个单词的位置,“John Doe”
用法二:·String.prototype.replace(str,function)
说明: function会在每次替换时调用,有四个参数
1、匹配字符
2、正则表达式分组内容,无分组就没有参数
3、匹配项在字符串中的index
4、原字符串
每次匹配到将会调用
"a1b2c3d4e5".replace(/(\d)(\w)(\d)/g,function(match,group1,group2,group3,index,origin){
return group1+group3;
});
结果为去掉了b和d,打印结果为a12c34e5
最后说明的function()中的参数是形参,记得参数个数语义化命名即可,而$加数字是规定。