js获取当前url地址参数中文乱码问题
网上看了一些关于此问题的文章,都说的不清不楚,有些更是乱七八糟,完全没法看,故此找了一篇能用的,借鉴作为笔记。
//首先获取到当前页面的地址栏信息 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);
这样就可以用了