今天碰到要在一個頁面獲取另外一個頁面url傳過來的參數,一開始很本能的想到了用 split("?")這樣一步步的分解出需要的參數。
后來想了一下,肯定會有更加簡單的方法的!所以在網上找到了兩個很又簡單實用的方法,mark下
方法一:正則分析法
function GetQueryString(name) {
??? var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
??? var r = window.location.search.substr(1).match(reg);
??? if (r != null) return unescape(r[2]); return "";
}
這樣調用:
alert(GetQueryString("參數名1"));
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>
這樣調用
<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>