Js 动态修改 url 的参数

URL链接:linkUrl= http://www.baidu.com?id={ID}&type={Type}
DATA数据:param={
ID:“123421”,
Type:“line”
}
Js代码如下:

function changeLinkUrl(linkUrl,param){
  //获取{}中的变量名称
  var array = linkUrl.match(/{(.*?)}/g);
  if(array == null ){
    return linkUrl;
  }
  //正则表达式,左大口号
  var left = /^\{/gi;
  //正则表达式,右大口号
  var right = /\}$/gi;
  array.forEach(function(val,index,arr){
  	  //替换 链接中的{     }符号
      var key   =   val.replace(left,'').replace(right,'');
      //通过 array获取的 val =  ID  , Type  替换 成实际 值
      linkUrl   =   linkUrl.replace(val,param[key]);
  });
  return linkUrl;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在JavaScript中,可以使用以下代码来修改URL地址的参数: ```javascript function changeURLParam(url, paramName, paramValue) { let reg = new RegExp('(\[?&\]' + paramName + '=)\[^&\]*', 'i'); if (url.match(reg)) { return url.replace(reg, '$1' + paramValue); } else { if (url.indexOf('?') === -1) { return url + '?' + paramName + '=' + paramValue; } else { return url + '&' + paramName + '=' + paramValue; } } } let currentURL = window.location.href; let modifiedURL = changeURLParam(currentURL, 'type', 'newValue'); console.log(modifiedURL); ``` 这段代码定义了一个名为`changeURLParam`的函数,它接受三个参数URL地址、要修改参数名和新的参数值。函数会根据参数名在URL中查找对应的参数,并将其值替换为新的参数值。如果URL中不存在该参数,则会在URL末尾添加该参数和对应的值。最后,函数会返回修改后的URL。 你可以将当前页面的URL作为参数传递给`changeURLParam`函数,然后将返回的修改后的URL赋值给`window.location.href`,即可实现修改URL地址参数的功能。 #### 引用[.reference_title] - *1* [使用js修改url地址参数修改url地址](https://blog.csdn.net/shadow_zed/article/details/112802245)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [JS 在不跳转情况下修改地址栏URL参数](https://blog.csdn.net/qq_41241504/article/details/126367345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

悟●禅●酒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值