简单实现使用JavaScript重置url参数 ,两种方法,一种字符串拼接形式,一种使用正则判断,且都已经测试通过。供大家参考指教。

1、字符拼接形式

function setUri(para, val) {var strNewUrl = new String();var strUrl = new String();var url = window.location.href;strUrl = window.location.href;if (strUrl.indexOf("?") != -1) {strUrl = strUrl.substr(strUrl.indexOf("?") + 1);   //获取参数if (strUrl.toLowerCase().indexOf(para.toLowerCase()) == -1) {  //如果没有找到参数,则直接赋值strNewUrl = url + "&" + para + "=" + val;window.location.href = strNewUrl;} else {var aParam = strUrl.split("&");for (var i = 0; i < aParam.length; i++) {if (aParam[i].substr(0, aParam[i].indexOf("=")).toLowerCase() == para.toLowerCase()) {aParam[i] = aParam[i].substr(0, aParam[i].indexOf("=")) + "=" + val;}}strNewUrl = url.substr(0, url.indexOf("?") + 1) + aParam.join("&");window.location.href = strNewUrl;}} else {strUrl += "?" + para + "=" + val;window.location.href = strUrl;}}

View Code

2、利用正则

 1  function setPara(para, val) {
 2             var newpar = "";
 3             var url = window.location.href;
 4             var pars = location.search.substring(1);
 5
 6             var reg = new RegExp("(^|)" + para + "=([^&]*)(|$)");
 7             if (reg.test(pars)) {   //有需要的参数para
 8
 9                 var p1 = pars.split(para)[0];   //productID=100857&count=1&
10                 var p2 = pars.split(para)[1];   //=75825&coupval=1.5&addressID=358&invoiceID=1245&invoiceName=jesse
11
12                 if (p2.indexOf("&") > -1) {
13                     var p3 = p2.split("&")[0];
14                     if (p3 == "=" + val + "") {
15                         return false;
16                     }
17                     newpar = p1 + para + '=' + val + p2.substr(2);
18                 } else {
19                     if (p1) {
20                         newpar = p1 + para + '=' + val;
21                     } else {
22                         newpar = para + '=' + val;
23                     }
24                 }
25             } else {
26                 if (url.indexOf("?") == -1) {  //没有参数
27                     newpar = para + "=" + val;
28                 } else {
29                     newpar = pars + "&" + para + "=" + val;
30                 }
31             }
32             window.location.href = location.href.split('?')[0] + "?" + newpar;
33         }

View Code

调用:

<script>
window.onload = function () {var btn = document.getElementById("btnClick");btn.onclick = function () {// url地址:http://localhost:54714/testuri.aspx?productID=100857&count=1&coupresId=12785&coupval=1.5&openId=12456&addressID=358&invoiceID=&invoiceName=//setUri("coupresId", 0);setPara("coupresId", 0); } }
</script><input type="button" id="btnClick" value="重定义参数" />

转载于:https://www.cnblogs.com/fuguoliang/p/5972916.html

使用JavaScript重定向URL参数相关推荐

  1. java重定向url有参数吗_JavaScript重定向URL参数的两种方法小结

    这篇文章主要介绍的是JavaScript重定向URL参数的两种方法,下面话不多说,直接看示例代码. 一.字符拼接形式 function setUri(para, val) { var strNewUr ...

  2. 【转贴】利用 Javascript 获取 URL 参数(适合IE、FF)

    . ... .../test.html?str=123456 如何用Javascript接收类似上面的url参数呢?这个问题网上有很多答案,看了看,主要有两种,一个是利用字符串的截取,另一种是利用正则 ...

  3. html获取url参数 php,如何使用JavaScript获取URL参数

    如果你希望通过JavaScript获取和使用URL参数.在JavaScript中,可以使用"document.location.search"获取URL的参数.但是,由于你只能在U ...

  4. 如何使用 Javascript 获取 URL 参数

    JS 获取 URL 参数稍微有点麻烦,因为 JS 只能获取到 URL 的某一部分,但是不能再细分.如果想获取某一项参数,那么还需要使用一下字符串截取. 所以分为两步: 获取 URL 的参数部分 截取某 ...

  5. JavaScript 获取url参数及解决中文乱码问题

    1.获取url参数 方法一: // 获取url参数function getQueryVariable(variable) {var query = window.location.search.sub ...

  6. javascript获取url参数的代码

    代码 <script language = javascript> function request(paras){ var url = location.href; var paraSt ...

  7. JavaScript获取URL参数

    文件1:realwall.js (function(window){var urltool = {getUrlParameterByKey : function(url,key){var result ...

  8. javascript 获取URL参数

    今天项目中遇到这个问题就是在Web前端根据URL的参数动态设置某一元素的值. 网上有很多这样的代码,无非是通过window.location.search.window.location或window ...

  9. Javascript 获取url参数,hash值 ,cookie

    /*** 获取请求参数* @param key* @returns {*}*/ function getRequestParameter(key){var params = getRequestPar ...

最新文章

  1. Java BitSet使用场景和示例
  2. PyCharm 2020.1 稳定版发布
  3. python 循环语句结果存储_Python条件语句和循环语句
  4. double 格式化
  5. Flutter 日期选择器与时间选择器
  6. LINUX SHELL判断一个用户是否存在
  7. 什么是大数据与智能数据?什么是惯性测量单元与GNSS?
  8. [渝粤题库]西北工业大学刑法
  9. 计算机开不了机反复重启,电脑一直重启就是开不了机怎么样解决
  10. 从尺规作图到机器证明
  11. 云耀服务器 NumPy安装 完整过程
  12. easypoi 语法_高中英语语法:高中英语必修1选修8全八册知识点总结
  13. 10分钟入门Pandas(添加一些个人见解)
  14. 穆利堂(推荐)WxOA房地产协同办公整体解决方案-河南郑州房地产OA协同办公系统软件 穆穆-movno1
  15. 免费搜索引擎登陆入口
  16. 股票自选股基本函数大全-3
  17. 7个项目管理强力工具介绍
  18. Google Doodle — 谷歌的插画之道
  19. 前端特效:Javascript,css animation,GIF,Lottie
  20. 道路设计标高p1p2php3p4,西南交通大学19春《道路工程》在线作业12

热门文章

  1. Java数组学习笔记(遍历、排序、多维数组、命令行参数)
  2. PHP之数组元素的排序
  3. html 表格_HTML------表格
  4. hbase查看表结构_HBase 常用 Shell 命令手册
  5. python selenium中文文档-selenium-python中文版文档
  6. 名为 cursor_jinserted 的游标不存在_你还在买丑橘吗?知道的人不多,看完后记得告诉身边人...
  7. Python多种方式实现”欢迎小红“
  8. ImportError: cannot import name ‘Optional‘
  9. 在overleaf中使用中文
  10. MakersPlace将启动1美元特价的Beeple限量NFT抽奖活动