获取链接中参数、删除链接中参数

 获取链接参数

第一种办法

//方法一
//	若地址栏URL为:test.html?id=10&url=http://www.baidu.com
//	调用GetQueryString方法:alert(GetQueryString("url"));则会弹出一个对话框:内容就是 http://www.baidu.com
//	如果alert(GetQueryString("id")); 就会弹出 10
//	如果没有传参数,比如地址是 test.html 后面没有参数,防止输出报错就加个判断	

	function GetQueryString(name)
	{
	     var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
	     var r = window.location.search.substr(1).match(reg);
	     if(r!=null)return  unescape(r[2]); 
	     return null;
	}	
//	console.log(GetQueryString("index2"));
	var myurl=GetQueryString("url");
	console.log(myurl);
//	alert(myurl);
	if(myurl !=null && myurl.toString().length>1)
	{
	   console.log(GetQueryString("id"));
//	   alert(GetQueryString("id"));
	}

第二种办法

function UrlAdr() 
{
   var name,value; 
   var str=location.href; //取得整个地址栏
   var num=str.indexOf("?") 
   str=str.substr(num+1); //取得所有参数   stringvar.substr(start [, length ]

   var arr=str.split("&"); //各个参数放到数组里
   for(var i=0;i < arr.length;i++){ 
    num=arr[i].indexOf("="); 
    if(num>0){ 
     name=arr[i].substring(0,num);
     value=arr[i].substr(num+1);
     this[name]=value;
     } 
    } 
} 
var request=new UrlAdr(); //实例化
alert(request.id);

第三种办法

直接截取后面的参数
// 获取 a 的 href 值截取想要的部分
// 比如 a 的链接是 https://www.baidu.com?canshu  想得到 ? 后面的值 t的值就是canshu
var urlEle=$(".test").attr("href")
var s=urlEle.indexOf("?"); 
var t=urlEle.substring(s+1);// t就是?后面的东西了 
console.log(t)

第四种办法

//获取参数方法
function getHref(){ 
  let url = location.search
  let theRequest = {}
  if (url.indexOf('?') != -1) {
    let str = url.substr(1)

    if (str.indexOf('&') != -1) {
      let strs = str.split('&')
      for (let i = 0; i < strs.length; i++) {
        let key = decodeURIComponent(strs[i].split('=')[0])
        let value = decodeURIComponent(strs[i].split('=')[1])
        theRequest[key] = value
      }
    } else {
      let key = decodeURIComponent(str.split('=')[0])
      let value = decodeURIComponent(str.split('=')[1])
      theRequest[key] = value
    }
  }
  return theRequest
}

//用法  var 自己变量名字 = getHref().要获取的参数名字 或者直接获取全部参数 getHref()
var myid=getHref().id



//或者  支持获取传入的url参数,如果不传入url默认获取当前链接参数,用法同上
function getURLParameters(url) {
  const queryString = url ? url.split('?')[1] : window.location.search.slice(1);
  const params = {};

  if (queryString) {
    const keyValues = queryString.split('&');
    keyValues.forEach(keyValue => {
      const [key, value] = keyValue.split('=');
      params[key] = decodeURIComponent(value);
    });
  }

  return params;
}

删除链接指定参数

function removeQueryParam(url, param) {
  const parsedUrl = new URL(url)
  parsedUrl.searchParams.delete(param)
  return parsedUrl.toString()
}

// 当前链接有参数test=1  要删除当前链接中test参数,返回新的链接地址
 const h5Url = removeQueryParam(window.location.href, 'test')

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值