廢話不多說了,直接給大家貼代碼了,具體代碼如下所述:
var path = 'www.u.com/home?id=2&type=0&dtype=-1';
function parseUrl(url){
var result = [];
var query = url.split("?")[1];
var queryArr = query.split("&");
queryArr.forEach(function(item){
var obj = {};
var value = item.split("=")[0];
var key = item.split("=")[1];
obj[key] = value;
result.push(obj);
});
return result;
}
console.log(parseUrl(path));
//[{id: '2'},{type: '0'},{dtype: '-1'}]
好了,下面看下js獲取url參數值的兩種方式
方法一:正則分析法
代碼如下:
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
調用方法:
alert(GetQueryString("參數名1"));alert(GetQueryString("參數名2"));
alert(GetQueryString("參數名3"));
方法二
代碼如下:
<Script language="javascript">
function GetRequest() {
var url = location.search; //獲取url中"?"符後的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
</Script>
調用方法:
<Script language="javascript"> var Request = new Object(); Request = GetRequest(); var 參數1,參數2,參數3,參數N; 參數1 = Request['參數1']; 參數2 = Request['參數2']; 參數3 = Request['參數3']; 參數N = Request['參數N']; </Script>
好了,到此結束。