queryURLParams

获取URL上传递的参数

//封装后的方法:

    let url = "https://www.zhanyixianghexieshan.cn/index.html?lx=1&chapter=1&name=zyx#inside"
    /*
    queryURLparams():获取URL中传递的参数和哈希值
    @params:
      ulr[string] 目标url
    @return:
      [object] 包含参数和哈希值的对象
    by Zack on 2022-2-16 16:01:10
    */
    function queryURLparams(url) {
      //1获取 ? 和 # 后面的信息
      let askIn = url.indexOf("?"),
          wellIn = url.indexOf("#"),
          askText = "",
          wellText = "";
      // '#' 不存在
      wellIn === -1?wellIn = url.length:null;
      // '?' 存在
      askIn >= 0?askText = url.substring(askIn+1,wellIn):null;
      wellText = url.substring(wellIn+1);
      //2,获取每一部分的信息
      let result = {}
      wellText !== ''? result[HASH] = wellText:null
      if(askText !== ""){
        let arr = askText.split("&")
        arr.forEach(item =>{
          let itemArr = item.split("=")
          result[itemArr[0]] = itemArr[1]
        })
      }
      return result
    }


//超高级的正则(跟上面函数一样的效果)
function queryURLParams(url){
  let result = {},
      reg1 = /([^?=&#]+)=([^?=&#]+)/g,
      reg2 = /#([^?=&#]+)/g;
  url.replace(reg1, (n,x,y) => result[x] = y);
  url.replace(reg2, (n,x) => result['HASH'] = x)
  return result
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值