js获取参数 解决乱码

获取参数

function GetQueryString(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return unescape(r[2]); return null;
    }
但当参数中有中文的时候, 就会出现乱码的问题。因为浏览器默认使用的是 encodeURI 对汉字进行的编码 所以在解码的时候就需要使用decodeURI 而不是 unescape 上面的代码稍微修改下后 就能解决中文乱码的问题了
解决办法
function getQueryString(name) {   
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");   
        var r = window.location.search.substr(1).match(reg);   
        if (r != null) return decodeURI(r[2]); return null;   
    }  

猜你喜欢

转载自www.cnblogs.com/xiaonangua/p/9173231.html