首页 > 技术文章 > js获取url中的参数,并保证获取到的参数不乱码

wbyixx 2020-01-08 12:50 原文

FLowUs邀请链接:https://flowus.cn/login?code=AXNU63
FlowUs邀请码:AXNU63


转: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进行解码

推荐阅读