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 相关文章推荐
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
Jul 31 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
Mar 21 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
Sep 02 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
Feb 26 Javascript
JavaScript数组方法总结分析
May 06 Javascript
1秒50万字!js实现关键词匹配
Aug 01 Javascript
Vuejs 单文件组件实例详解
Feb 09 Javascript
详解vue中async-await的使用误区
Dec 05 Javascript
postman自定义函数实现 时间函数的思路详解
Apr 17 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
Dec 04 Javascript
Element Card 卡片的具体使用
Jul 26 Javascript
基于javascript的无缝滚动动画实现2
Aug 07 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
使用Apache的rewrite技术
2006/06/22 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
js性能优化技巧
2015/11/29 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
2017/01/13 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
2019/01/15 jQuery
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
python 地图经纬度转换、纠偏的实例代码
2018/08/06 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
python实现简易数码时钟
2021/02/19 Python
CSS3打造百度贴吧的3D翻牌效果示例
2017/01/04 HTML / CSS
基于 HTML5 Canvas实现 的交互式地铁线路图
2018/03/05 HTML / CSS
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
加拿大在线隐形眼镜和眼镜店:VisionPros
2019/10/06 全球购物
教师产假请假条
2014/04/10 职场文书
万能检讨书2000字
2014/10/17 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
2015毕业寄语大全
2015/02/26 职场文书
小学运动会报道稿
2015/07/22 职场文书
2016继续教育研修日志
2015/11/13 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
Python中使用ipython的详细教程
2021/06/22 Python
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL