Js获取当前页面URL各种参数

4,946 阅读1分钟
原文链接: www.cnblogs.com

JS获取当前页面URL各种参数#

一:Location#

Location 对象包含有关当前 URL 的信息。

Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

hash 设置或返回从井号 (#) 开始的 URL(锚)。
host 设置或返回主机名和当前 URL 的端口号。
hostname 设置或返回当前 URL 的主机名。
href 设置或返回完整的 URL。
pathname 设置或返回当前 URL 的路径部分。
port 设置或返回当前 URL 的端口号。
protocol 设置或返回当前 URL 的协议。
search 设置或返回从问号 (?) 开始的 URL(查询部分)。

例子

Copyvar href = window.location.href;

二:编码解码#

正确的编码解码有助于处理中文字符,不正确则会中文乱码。

函数 描述
decodeURI() 解码某个编码的 URI。
decodeURIComponent() 解码一个编码的 URI 组件。
encodeURI() 把字符串编码为 URI。
encodeURIComponent() 把字符串编码为 URI 组件。
escape() 对字符串进行编码。
unescape() 对由 escape() 编码的字符串进行解码。

三:复制即用#

网上的示例大都是用unescape()解码,不过测试中文依旧乱码,换成decodeURI()即可。

Copy/**
 * 获取URL参数
 * @param 参数名
 * @returns 参数值
 */
function GetQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return decodeURI(r[2]);
    return null;
}

在使用时最好加一下空值判断:

Copyif (GetQueryString("sex")!=null&&GetQueryString("sex").length>0) {
    //
}

微信关注公众号

作者: 薛勤

出处:www.cnblogs.com/yueshutong/…

本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。