JavaScript 获取url参数值的几种方式

2022-09-26 22:37:00
2024-10-05 07:22:12
复制代码
http://localhost:8080/?tracking_id=abc&convert_id=12

方法一:采用正则表达式获取地址栏参数 (代码简洁,重点正则,建议使用,可以获取中文参数)

js 复制代码
function GetQueryString(name) {
  let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  let r = window.location.search.substr(1).match(reg);
  if (r != null) {
    return decodeURIComponent(r[2]);
  }
  return null;
}

调用方法:

js 复制代码
let tracking_id = GetQueryString("tracking_id"));

方法二:split 拆分法

js 复制代码
//获取url中"?"符后的字串,主动获取
function GetUrlParameter() {
  const url = location.search;
  let theRequest = new Object();
  if (url.indexOf('?') != -1) {
    let str = url.substr(1);
    strs = str.split('&');
    for (let i = 0; i < strs.length; i++) {
      theRequest[strs[i].split('=')[0]] = unescape(strs[i].split('=')[1]);
    }
  }
  return theRequest;
}

调用方法:

js 复制代码
let UrlParameter = new Object();
UrlParameter = GetUrlParameter();
var.tracking_id = UrlParameter.tracking_id;
var.convert_id = UrlParameter.convert_id;

要是传url进来

js 复制代码
function getQueryVariable(url, variable) {
    const urlFormat = new URL(url);
    //去掉?号
    const query = urlFormat.search.substring(1);
    const vars = query.split('&');
    for (let i = 0; i < vars.length; i++) {
        let pair = vars[i].split('=');
        if (pair[0] === variable) {
            return pair[1];
        }
    }
    return false;
}
目录

运营需要亿点资金维持,您的支持,是小白龙创作的动力!!!

昵称
留言
赞赏金额
暂无评论,欢迎留下你的评论