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通过RegExp实现客户端验证处理程序
May 07 Javascript
javascript中处理时间戳为日期格式的方法
Jan 02 Javascript
Jquery的each里用return true或false代替break或continue
May 21 Javascript
javascript制作2048游戏
Mar 30 Javascript
jQuery采用连缀写法实现的折叠菜单效果
Sep 18 Javascript
Node.js操作redis实现添加查询功能
May 25 Javascript
JS自定义滚动条效果简单实现代码
Oct 27 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
Aug 04 Javascript
JS实现的JSON数组去重算法示例
Apr 11 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
Dec 13 Javascript
微信小程序自定义多列选择器使用详解
Jun 21 Javascript
解决ele ui 表格表头太长问题的实现
Nov 13 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注释实例技巧
2008/10/03 PHP
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
PHP中其实也可以用方法链
2011/11/10 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
php实现构建排除当前元素的乘积数组方法
2018/10/06 PHP
网络图片延迟加载实现代码 超越jquery控件
2010/03/27 Javascript
window.name代替cookie的实现代码
2010/11/28 Javascript
jquery 插件学习(三)
2012/08/06 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
老生常谈js中的MVC
2017/07/25 Javascript
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
JavaScript实现构造json数组的方法分析
2018/08/17 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
Python实现的RSS阅读器实例
2015/07/25 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
HTML5 Canvas绘制文本及图片的基础教程
2016/03/14 HTML / CSS
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
中学生检讨书范文
2014/11/03 职场文书
英文升职感谢信
2015/01/23 职场文书
新手必备Python开发环境搭建教程
2021/05/28 Python
「回转企鹅罐」10周年纪念展「輪るピングドラム展」海报公开
2022/03/22 日漫
vue实现列表垂直无缝滚动
2022/04/08 Vue.js