js地址栏获取参数的方法,支持中文参数且中文乱码问题

责编:menVScode 2017-07-28 13:45 阅读(1004)

在做项目的时候,需要在地址获取对应的参数,如:/mencs?projectUuid=1&attProjectName=民生分账户001项目001中,获取attProjectName字段的参数值,但是经过处理获取的到attProjectName字段的中文是乱码,然后用decodeURI()等函数进行解码,结果还是乱码。

QQ截图20170728134428

第一种:参数只能是英文的。

//获取地址栏参数//只能是英文参数
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;
}

第二种:参数可以是中文也可以是英文

//获取地址栏参数//可以是中文参数
function getUrlParam(key) {
    // 获取参数
    var url = window.location.search;
    // 正则筛选地址栏
    var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
    // 匹配目标参数
    var result = url.substr(1).match(reg);
    //返回参数值
    return result ? decodeURIComponent(result[2]) : null;
}

后来发现上面的方法,函数的参数就是就地址栏中对应的属性。

标签: js 功能代码
前端交流群: MVC前端网(menvscode.com)-qq交流群:551903636

邮箱快速注册

忘记密码