JavaScript重定向URL参数的两种方法小结


Posted in Javascript onOctober 19, 2016

这篇文章主要介绍的是JavaScript重定向URL参数的两种方法,下面话不多说,直接看示例代码。

一、字符拼接形式

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;
      }
    }

二、利用正则

//使用正则
    function setPara(para, val) {
      var newpar = "";
      var url = window.location.href;
      var pars = location.search.substring(1);

      var reg = new RegExp("(^|)" + para + "=([^&]*)(|$)");
      if (reg.test(pars)) {  //有需要的参数para

        var p1 = pars.split(para)[0];  //productID=100857&count=1&
        var p2 = pars.split(para)[1];  //=75825&coupval=1.5&addressID=358&invoiceID=1245&invoiceName=jesse

        if (p2.indexOf("&") > -1) {
          var p3 = p2.split("&")[0];
          if (p3 == "=" + val + "") {
            return false;
          }
          newpar = p1 + para + '=' + val + '&' + (p2.split(p3))[1];
        } else {
          if (p1) {
            newpar = p1 + para + '=' + val;
          } else {
            newpar = para + '=' + val;
          }
        }
      } else {
        if (url.indexOf("?") == -1) {
          newpar = pars +"&"+ para + "=" + val;
        } else {
          newpar = pars + "&" + para + "=" + val;
        }
      }
      window.location.href = location.href.split('?')[0] + "?" + newpar;
    }

 调用:

<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="重定义参数" />

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
jquery判断checkbox(复选框)是否被选中的代码
Oct 20 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
May 10 Javascript
Javascript算符的优先级介绍
Mar 20 Javascript
JavaScript实现搜索框的自动完成功能(一)
Feb 25 Javascript
jQuery中设置form表单中action值的实现方法
May 25 Javascript
JavaScript导航脚本判断当前导航
Jul 12 Javascript
深入探究node之Transform
Jul 20 Javascript
关于TypeScript中import JSON的正确姿势详解
Jul 25 Javascript
javaScript封装的各种写法
Aug 14 Javascript
angularjs 动态从后台获取下拉框的值方法
Aug 13 Javascript
mpvue+vant app搭建微信小程序的方法步骤
Feb 11 Javascript
深度解读vue-resize的具体用法
Jul 08 Javascript
Angular2  NgModule 模块详解
Oct 19 #Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 #Javascript
jQuery  ready方法实现原理详解
Oct 19 #Javascript
Javascript实现汉字和拼音互转的终极方案
Oct 19 #Javascript
Javascript typeof与instanceof的区别
Oct 18 #Javascript
javascript self对象使用详解
Oct 18 #Javascript
jQuery动态添加与删除tr行实例代码
Oct 18 #Javascript
You might like
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
jquery validate 自定义验证方法介绍 日期验证
2014/02/27 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
JavaScript面试出现频繁的一些易错点整理
2018/03/29 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
Python 条件判断的缩写方法
2008/09/06 Python
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
Python 探针的实现原理
2016/04/23 Python
Zabbix实现微信报警功能
2016/10/09 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
Python按钮的响应事件详解
2019/03/04 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
求职自荐信范文格式
2013/11/29 职场文书
生物制药自我鉴定
2014/01/25 职场文书
2014年清明节寄语
2014/04/03 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
python如何读取和存储dict()与.json格式文件
2022/06/25 Python
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS