七、replace
replace 本身是JavaScript字符串对象的一个方法,它允许接收两个参数:
replace([RegExp|String],[String|Function])
第1个参数可以是一个普通的字符串或是一个正则表达式...,每次回调都会传递以下参数:
result: 本次匹配到的结果
$1,...$9: 正则表达式中有几个(),就会传递几个参数,$1~$9分别代表本次匹配中每个()提取的结果,最多9个
offset...:记录本次匹配的开始位置
source:接受匹配的原始字符串
以下是replace和JS正则搭配使用的几个常见经典案例:
(1)实现字符串的trim函数,去除字符串两边的空格
String.prototype.trim...(/(^\s+)|(\s+$)/g,function(rs,$1,$2,offset,source){
//arguments中的每个元素对应一个参数
console.log(arguments..." ", " ", undefined, 0, " abcd "] //第1次匹配结果
[" ", undefined, " ", 5, " abcd "] //第2次匹配结果
(2)提取浏览器url中的参数名和参数值