js获取当前url地址参数中文乱码问题

时间:2021-06-22 13:40:47

网上看了一些关于此问题的文章,都说的不清不楚,有些更是乱七八糟,完全没法看,故此找了一篇能用的,借鉴作为笔记。

//首先获取到当前页面的地址栏信息
var url = window.location.href;//获取url地址
var obj = {};//待会用来存放参数的对象
var reg = /\?/;匹配从?截取
if(url.match(reg)) {
//判断传入参数,以问号截取,问号后是参数
var chars = url.split('?')[1];
var arr = chars.split('&');//截取&号
//获得截取后的数组为键值对字符串
for (var i = 0; i < arr.length; i++) {
//保守一点确定看是否为 name=value形式
var num = arr[i].indexOf("=");
if (num > 0) {
//拼接字符串
var name = arr[i].substring(0, num);
var value = arr[i].substr(num + 1);
//拼接对象,并转码
obj[decodeURIComponent(name)] = decodeURIComponent(value);
}
}
}
console.log(obj);

  这样就可以用了