欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS获取url多个参数及解决中文乱码问题

程序员文章站 2022-04-03 08:27:31
...
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;
}

// 调用方法
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
复制代码

例: 若地址栏URL为:abc.html?id=123&url=http://www.maidq.com

那么,当你用上面的方法去调用:alert(GetQueryString("url"));

则会弹出一个对话框:内容就是 http://www.maidq.com

如果用:alert(GetQueryString("id"));那么弹出的内容就是 123 啦;

当然如果你没有传参数的话,强行输出调用结果有的时候会报错:

参考:http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html


实例:

传参:

var deId = $("#deId").val();
var deName = $("#deName").val();
location.href = "http://localhost:3207/MemberMgr/WashCar.html?deId=" + deId + "&deName=" + encodeURI(deName);//解决中文乱码
复制代码

接收:

$(function () {
    GetQueryString("deId");
    GetQueryString("deName");
});
//截取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]));//解决中文乱码
        }
    }
}
复制代码

【转载】原地址:https://www.cnblogs.com/weimingxin/p/7349564.html