var str = 'http://www.zhufengpeixun.cn/?lx=1&from=wx&b=12&c=13';
function getParam(url){
var reg = /([^?=&]+)=([^?=&
let obj = {};
reg.execAll(url).forEach(item =>{//execAll分割成:大正則內容 小分組1 小分組2:["lx=1", "lx", "1",
obj[item[1]] = item[2];//不需要再分割,直接使用索引1和索引2獲取就可以了
})
let v = url.match(/
obj.hash = v;
return obj
}
console.log(getParam(str));////{lx: "1", from: "wx", b: "12", c: "13"}
複製程式碼
//第二種 使用replace方法實現getParam();
var str = 'http://www.zhufengpeixun.cn/?lx=1&from=wx&b=12&c=13';
function getParam(url){
var reg = /([^?=&]+)=([^?=&
let obj = {};
var res = str.replace(reg,function($0,$1,$2){
//$0代表大正則內容 $1代表第一個分組 $2代表第二個分組
obj[$1] = $2;
})
let v = url.match(/
obj.hash = v;
return obj;
}
console.log(getParam(str));//{lx: "1", from: "wx", b: "12", c: "13"}
複製程式碼
//第三種方法match 實現 getParam()
var str = 'http://www.zhufengpeixun.cn/?lx=1&from=wx&b=12&c=13';
function getParam(url){
var reg =/([^?=&]+)=([^?=&
var obj = {};
url.match(reg).forEach(item =>{
let a = item.split('=')//需要再以=切割一下變成:["lx", "1"]
obj[a[0]] = a[1]
})
let v = url.match(/
obj.hash =obj;
return obj;
}
console.log(getParam(str));//{lx: "1", from: "wx", b: "12", c: "13"}
複製程式碼