获取URL参数

本文介绍了两种JavaScript方法,一种是 getAllQuery,用于从URL中提取所有参数并以对象形式返回;另一种是 getQuery,针对指定键获取参数值。这两种方法适用于前端开发中的URL参数处理。
摘要由CSDN通过智能技术生成

方法一(推荐)

/**
 * 获取URL参数
 * @param paramUrl      URL
 * @returns {{}}        所有的参数
 */
export default function getAllQuery(paramUrl) {
  const url = paramUrl || window.location.href
  const temp1 = url.split('?')
  const result = {}
  if (temp1.length > 1) {
    const pram = temp1[1]
    const keyValue = pram.split('&')

    for (let i = 0; i < keyValue?.length; i++) {
      const item = keyValue[i].split('=')
      const key = item[0]
      result[key] = item[1]
    }
  }
  return result
}

方法二 

export default function getQuery(key, url) {
  url = url || window.location.href;
  if (url.indexOf('#') !== -1) url = url.substring(0, url.indexOf('#'));
  let rts = [];
  let rt;
  let queryReg = new RegExp('(^|\\?|&)' + key + '=([^&]*)(?=&|#|$)', 'g');
  while ((rt = queryReg.exec(url)) !== null) {
    rts.push(decodeURIComponent(rt[2]));
  }
  if (rts.length === 0) return null;
  if (rts.length === 1) return rts[0];
  return rts;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__畫戟__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值