JS 修改URL参数(实现代码)


Posted in Javascript onJuly 08, 2013
function changeURLPar(url, ref, value) {
    var str = "";
    if (url.indexOf('?') != -1)
        str = url.substr(url.indexOf('?') + 1);
    else
        return url + "?" + ref + "=" + value;
    var returnurl = "";
    var setparam = "";
    var arr;
    var modify = "0";
    if (str.indexOf('&') != -1) {
        arr = str.split('&');
        for (i in arr) {
            if (arr[i].split('=')[0] == ref) {
                setparam = value;
                modify = "1";
            }
            else {
                setparam = arr[i].split('=')[1];
            }
            returnurl = returnurl + arr[i].split('=')[0] + "=" + setparam + "&";
        }
        returnurl = returnurl.substr(0, returnurl.length - 1);
        if (modify == "0")
            if (returnurl == str)
                returnurl = returnurl + "&" + ref + "=" + value;
    }
    else {
        if (str.indexOf('=') != -1) {
            arr = str.split('=');
            if (arr[0] == ref) {
                setparam = value;
                modify = "1";
            }
            else {
                setparam = arr[1];
            }
            returnurl = arr[0] + "=" + setparam;
            if (modify == "0")
                if (returnurl == str)
                    returnurl = returnurl + "&" + ref + "=" + value;
        }
        else
            returnurl = ref + "=" + value;
    }
    return url.substr(0, url.indexOf('?')) + "?" + returnurl;
}
Javascript 相关文章推荐
JS中简单的实现像C#中using功能(有源码下载)
Jan 09 Javascript
Jquery AutoComplete自动完成 的使用方法实例
Mar 19 Javascript
基于json的jquery地区联动效果代码
Jul 06 Javascript
javascript:history.go()和History.back()的区别及应用
Nov 25 Javascript
深入理解JavaScript 闭包究竟是什么
Apr 12 Javascript
用Jquery.load载入页面实现局部刷新
Jan 22 Javascript
JavaScript及jquey实现多个数组的合并操作
Sep 06 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
May 31 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
Jun 15 Javascript
js自定义Tab选项卡效果
Jun 05 Javascript
在Vant的基础上封装下拉日期控件的代码示例
Dec 05 Javascript
TypeScript 运行时类型检查补充工具
Sep 28 Javascript
解析javascript系统错误:-1072896658的解决办法
Jul 08 #Javascript
浅谈JavaScript之事件绑定
Jul 08 #Javascript
JS Map 和 List 的简单实现代码
Jul 08 #Javascript
利用JS实现浏览器的title闪烁
Jul 08 #Javascript
利用js实现遮罩以及弹出可移动登录窗口
Jul 08 #Javascript
使用jquery实现简单的ajax
Jul 08 #Javascript
从数据结构的角度分析 for each in 比 for in 快的多
Jul 07 #Javascript
You might like
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
Extjs 几个方法的讨论
2010/01/28 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
JS继承 笔记
2011/07/13 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
2018/08/27 Javascript
小程序获取周围IBeacon设备的方法
2018/10/31 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
不要用强制方法杀掉python线程
2017/02/26 Python
浅谈Python3中print函数的换行
2020/08/05 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
爽歪歪广告词
2014/03/20 职场文书
申论倡议书范文
2014/05/13 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
活动新闻稿范文
2015/07/17 职场文书
教师教育心得体会
2016/01/19 职场文书
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL