请编写一个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参数的值*/

  

 

posted on 2017-03-23 12:28  Unknw  阅读(2055)  评论(0编辑  收藏  举报