时间:2020-12-30 13:15:40 | 栏目:JavaScript代码 | 点击:次
题目
请编写一个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参数的值*/