js获取url中的参数,并保证获取到的参数不乱码

冷暖自知 提交于 2020-01-08 13:51:04

转:http://www.asheep.cn/skill/unescape.html

网上比较经典的js获取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]);
    } else {
        return null;
    }
}

但是在使用的过程中,发现其在获取中文参数的时候,获取到的值是乱码的
解决办法: 将解码方式unscape换为decodeURI
原因: 浏览器会将url中的中文参数进行encodeURI编码,所以要通过js使用decodeURI进行解码

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!