主要是自己做個記錄,方便查詢,閑話不多說了,直接正文啦
1.使用的正則
var reg = /([^?=&]+)=([^?=&]+)/g,
2.處理的類似字符串
var url = "http://www.xxx.com?type=book&id=11";
3.使用
var obj = {};
var result;
while(result = reg.exec(url)){
? ? ?obj[result[1]] = result[2];
}
console.log(obj); // 打印輸出查看即可
4.代碼整合
var reg = /([^?=&]+)=([^?=&]+)/g,
url = "http://www.xxx.com?type=book&id=11",
obj = {},
result;
while(result = reg.exec(url)){
? ? obj[result[1]] = result[2];
}
或者
url.replace(reg, function(){
? ? ? var args = arguments;
? ? ? ?obj[args[1]] = args[2];
})
console.log(obj);
如果不適用正則的話,可以使用字符串分割,也能達(dá)到相應(yīng)的效果
var n = str.indexOf('?');
var str1 = str.substr(n+1); // 截取到?后面的字符串 ?type=book&id=11
var arr = str1.split('='); ? ? ?// 調(diào)用split()方法,以 ‘&’作為分隔符 ,得到 ['type=book','id=11']
然后遍歷數(shù)組,再次以 '='進(jìn)行分割即可