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 相关文章推荐
JavaScript this调用规则说明
Mar 08 Javascript
jQuery实战之品牌展示列表效果
Apr 10 Javascript
基于mootools 1.3框架下的图片滑动效果代码
Apr 22 Javascript
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
Sep 01 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
Nov 03 Javascript
使用jQuery实现动态添加小广告
Jul 11 jQuery
微信小程序页面间传值与页面取值操作实例分析
Apr 30 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
javascript+Canvas实现画板功能
Jun 23 Javascript
Vue 样式切换及三元判断样式关联操作
Aug 09 Javascript
vue使用echarts图表自适应的几种解决方案
Dec 04 Vue.js
Vue组件简易模拟实现购物车
Dec 21 Vue.js
解析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
支持oicq头像的留言簿(二)
2006/10/09 PHP
PHP判断指定时间段的2个方法
2014/03/14 PHP
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
Laravel下生成验证码的类
2017/11/15 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
jquery validate 自定义验证方法介绍 日期验证
2014/02/27 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
利用python实现xml与数据库读取转换的方法
2017/06/17 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
Django实现跨域的2种方法
2019/07/31 Python
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
Overload和Override的区别
2012/09/02 面试题
大学毕业生简单自荐信
2013/11/05 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
演讲稿开场白台词
2014/08/25 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers