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

  • encodeURI() 函数可把字符串作为 URI 进行编码

获取请求url中参数 http://a.com/index.html?name=名称&type=类型

var para=window.location.search;// 当前请求的url的参数部分
console.log(para) // 结果 ?name=%E5%90%8D%E7%A7%B0&type=%E7%B1%BB%E5%9E%8B

获取指定参数

//根据参数部分和参数名来获取参数值
function getUrlParam(name) {
     //构造一个含有目标参数的正则表达式对象
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
     //匹配目标参数
    var r = window.location.search.substr(1).match(reg); 
    if (r != null)
    {
         console.log(decodeURI(r[2]));
         //如果是英文,直接return unescape(r[2]);
         //中文解码
         return decodeURI(r[2]);
    }
    return null; //返回参数值
}

中文乱码问题

  • 乱码是因为浏览器默认使用的是 encodeURI 而我们用的是unescape进行的解码
THE END
分享
二维码
< <上一篇
下一篇>>