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);

  这样就可以用了

posted @ 2017-05-22 18:09  疾风_剑豪  阅读(586)  评论(0编辑  收藏  举报