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)这里同样定义一个方法,不过这次我们会将所有参数都拆分出来并通过一个对象返回。
(2)使用样例
//获取所有的参数(通过对象的形式返回) 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)