失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > JS获取当前页面的URL参数

JS获取当前页面的URL参数

时间:2021-12-20 20:48:21

相关推荐

JS获取当前页面的URL参数

1.首先需要获取当前页面的URL,这个可以从 window.location.search 获取:

//获取当前页面的完整地址var currentUrl = window.location.href;//获取当前页面URL的从问号 (?) 开始的 URL(查询部分)var params = window.location.search;

Location 对象属性

上表来自/jsref/dom_obj_location.asp

2.获取具体的参数

以Google "JS获取当前页面url参数" 的URL为例:

/search?ei=XEDqW-fuAoXN0PEPytmR-As&q=JS%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E9%A1%B5%E9%9D%A2url%E5%8F%82%E6%95%B0&oq=JS%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E9%A1%B5%E9%9D%A2url%E5%8F%82%E6%95%B0&gs_l=psy-ab.3...3192.3424.0.3909.3.3.0.0.0.0.280.280.2-1.1.0....0...1c.1j4.64.psy-ab..2.0.0....0.Bf-4Zsck6OI

以下内容转载自:/tjcyjd/article/details/44275531

但unescape函数替换为了decodeURLcomponent

有两种方法:

(1)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]]=decodeURLcomponent(strs[i].split("=")[1]); } } return theRequest; } var req = GetRequest(); var query = req['q'];alert(query);

(2)正则表达式匹配:

function getQueryString(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");var r = window.location.search.substr(1).match(reg);if (r != null) return decodeURLcomponent(r[2]); return null;}var query= getQueryString("q");alert(query);

注:

1.window.location.search中包含中文参数时,使用unescape进行解码会出现乱码错误,应该使用 decodeURLComponent函数;

关于escape encodeURI encodeURIComponent 的区别,请参考:

/qiantuwuliang/archive//07/19/1526687.html

主要区别是:

1..escapte unescapte 已经被废弃;

2.encodeURI/decodeURI 用于编码/解码整个URL,encodeURIComponent/decodeURIComponent 用于编码/解码URL的部分参数;

如果觉得《JS获取当前页面的URL参数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。