將url解析爲對象的形式有兩種方案
1.利用數組的spilt()函數
類似於下面將URL後邊的參數保存在args對象中
function parseQuery(query){
var args = {};
var items = query.split("&");
var item = null, name = null, value = null;
for(var i=0; i < items.length; i++){
item = items[i].split("=");
if(item[0]){
name = item[0];
value = item[1] ? item[1] : "";
args[name] = value;
}
}
return args;
}
2.第二種是使用正則表達式解析
function parseQueryString(str) {
var reg = /(([^?&=]+)(?:=([^?&=]*))*)/g;
var result = {};
var match;
var key;
var value;
while (match = reg.exec(str)) {
key = match[2];
value = match[3] || '';
result[key] = decodeURIComponent(value);
}
return result;
}