获取 URL 地址栏参数值

    预计阅读时间: 小于 1 分钟

    获取 url 链接中指定的参数值:

    代码示例
    1// 获取地址栏参数值
    2function getQueryString(name) {
    3	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"),
    4		r = window.location.search.substr(1).match(reg);
    5	if (r != null) return unescape(r[2]);
    6	return null;
    7}
    方法介绍:
    • location.search:search 属性是一个可读可写的字符串,可设置或返回当前 URL 的查询部分,即 ? 之后部分(包含字符串);
    • unescape(string):unescape() 函数可对通过 escape() 编码的字符串进行解码;通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码。

    使用三目运算符简化代码:

    代码示例
    1getQueryStr(n) {
    2  let r, reg = new RegExp("(^|&)" + n + "=([^&]*)(&|$)");
    3  r = window.location.search.substr(1).match(reg);
    4  return r ? decodeURI(r[2]) : null;
    5}
    注意:

      ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI(string)decodeURIComponent(string)取而代之。