返回 导航

其他

hangge.com

JS - 获取URL中参数值的几种方法(地址?号后的GET值)

作者:hangge | 2018-04-18 08:10
当我们进行页面跳转时,可能会通过 url 传递参数。比如下图我传了两个参数:

而目标页面如果想要通过 js 获取到这些参数值,原理无非就是将当前 url 地址进行截取并返回需要的部分。这里我整理了两种常见的写法。

1,使用正则表达式匹配

(1)为方便使用这里定义一个方法:
//根据参数名获取对应的url参数
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)使用样例
console.log("id:", getQueryString("id"));
console.log("file:", getQueryString("file"));

2,使用 split 拆分

(1)这里同样定义一个方法,不过这次我们会将所有参数都拆分出来并通过一个对象返回。
//获取所有的参数(通过对象的形式返回)
function getQueryStrings() {
  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)使用样例
var params = getQueryStrings();
console.log("id:", params["id"]);
console.log("file:", params["file"]);
评论

全部评论(0)

回到顶部