JS获取URL中参数值(QueryString)的4种方法分享 |
方法一:正则法 复制代码 代码如下: 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; } // 这样调用: alert(GetQueryString("参数名1")); alert(GetQueryString("参数名2")); alert(GetQueryString("参数名3")); 方法二:split拆分法 复制代码 代码如下: 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; } var Request = new Object(); Request = GetRequest(); // var 参数1,参数2,参数3,参数N; // 参数1 = Request[参数1]; // 参数2 = Request[参数2]; // 参数3 = Request[参数3]; // 参数N = Request[参数N]; 方法三:又见正则 复制代码 代码如下: function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配 var context = ""; if (r != null) context = r[2]; reg = null; r = null; return context == null || context == "" || context == "undefined" ? "" : context; } alert(GetQueryString("q")); 方法四:单个参数的获取方法 function GetRequest() {
|