今天碰到要在一個頁面獲取另外一個頁面url傳過來的參數,一開始很本能的想到了用 split("?")這樣一步步的分解出需要的參數。
后來想了一下,肯定會有更加簡單的方法的!所以在網上找到了兩個很又簡單實用的方法,mark下
方法一:正則分析法
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;
}
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"));
alert(GetQueryString("參數名2"));
alert(GetQueryString("參數名3"));
方法二:
<span style=
"font-size: 16px;"
><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></span>
|
這樣調用: