js获取地址栏上的参数

1、把参数和参数值解析对象内,通过urlParse().参数获取参数值

例如:

https://www.baidu.com/?id=12345&name=b

返回的obj为:

{id: "12345", name: "b"}

function urlParse() {
  let url = window.location.search
  let obj = {}
  let reg = /[?&][^?&]+=[^?&]+/g
  let arr = url.match(reg) //找到所有匹配项
  console.log(arr)
  // ['?id=12345','&name=b']
  if (arr) {
    arr.forEach((item) => { //遍历数组
      let tempArr = item.substring(1).split('=') //截取字符串并分割
      // console.log(tempArr)
      let key = decodeURIComponent(tempArr[0])
      let val = decodeURIComponent(tempArr[1])
      obj[key] = val
    })
  }
  return obj
}
console.log(urlParse().id,urlParse().name)
2、直接通过参数获取参数值,参数需要加引号,不然会报错

function GetQueryString(parm) {
    let reg = new RegExp("(^|&)"+ parm +"=([^&]*)(&|$)");
    let r = window.location.search.substr(1).match(reg);//匹配正则表达式及其分组
    console.log(r);//["&name=222", "&", "222", "", index: 4, input: "id=1&name=222"]
    if(r!=null) {
		return  unescape(r[2]); 
	} else {
		return null;
	}
}
console.log(GetQueryString("name"),GetQueryString("id"))



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值