請編寫一個JavaScript函數,它的用途是接收url中get請求的參數,並返回為對象,
如: var url = “https://i.cnblogs.com/EditPosts.aspx?opt=1″。
本題考察了js如何獲得url為字符串,以及字符串處理的方法。
1.首先想到正則
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;
}
2.數組方法
*-----------------實現1--------------------*/
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;
}
/*--------------------實現2(返回 $_GET 對象, 仿PHP模式)----------------------*/
var $_GET = (function(){
var url = window.document.location.href.toString();
var u = url.split("?");
if(typeof(u[1]) == "string"){
u = u[1].split("&");
var get = {};
for(var i in u){
var j = u[i].split("=");
get[j[0]] = j[1];
}
return get;
} else {
return {};
}
})();
/*第2種方式, 使用時, 可以直接 $_GET['get參數'], 就直接獲得GET參數的值*/
