js获取url参数,以及中文乱码问题

Posted 学不断,思还乱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js获取url参数,以及中文乱码问题相关的知识,希望对你有一定的参考价值。

// 两种获取方法
function GetQueryString(parameter) {
    var reg = new RegExp("(^|&)" + parameter + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
        if (parameter == "deId") {
            $("#deId").val(r[2]);
        }
        if (parameter == "deName") {
            $("#deName").val(decodeURI(r[2]));//解决中文乱码
        }
    }
}

function getRequest() {
        var url = location.search; //获取url中"?"符后的字串
        var theRequest = new Object();
        if(url.indexOf("?") != -1) {
            var str = url.substr(1);
            var strs = str.split("&");
            for(var i = 0; i < strs.length; i++) {
                theRequest[strs[i].split("=")[0]] = decodeURIComponent(strs[i].split("=")[1]);
            }
        }
        return theRequest;
}


// 如果获取时出现乱码请查看是不是使用了unescape来解码url的参数,替换为decodeURIComponent或decodeURI即可,unescape和escape即将被废弃

// 另外:encodeURIComponent或encodeURI编码方式相同,对于整个url来说,前者会编码url中的; / ? : @ & = + $ , # 后者不会编码

 

以上是关于js获取url参数,以及中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

js获取当前url地址参数中文乱码问题

如何把js获取url中文乱码转码

利用JS获取地址栏的中文参数,如何避免取到乱码?

js获取url并截取相应的字段,js解决url获取中文字段乱码问题

解决获取url上中文乱码问题

URL参数乱码问题