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

 更新时间:2013年07月08日 10:19:39   作者:  
本篇文章是对JS修改URL参数的实现代码进行了详细的分析介绍,需要的朋友参考下
复制代码 代码如下:

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面向对象分层思维全面解析

    这篇文章主要介绍了JavaScript面向对象分层思维,js本身不是面向对象语言,在我们实际开发中其实很少用到面向对象思想。下文关于js面向对象知识给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2016-11-11
  • Javascript 中 null、NaN和undefined的区别总结

    Javascript 中 null、NaN和undefined的区别总结

    js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型,接下来与大家分享下它们之间的区别
    2013-04-04
  • js中事件对象和事件委托的介绍

    js中事件对象和事件委托的介绍

    今天小编就为大家分享一篇关于js中事件对象和事件委托的介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 基于JS正则表达式实现模板数据动态渲染(实现思路详解)

    基于JS正则表达式实现模板数据动态渲染(实现思路详解)

    这篇文章主要介绍了基于JS正则表达式实现模板数据动态渲染 ,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • layui.use模块外部使用其内部定义的js封装函数方法

    layui.use模块外部使用其内部定义的js封装函数方法

    今天小编就为大家分享一篇layui.use模块外部使用其内部定义的js封装函数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 在window.setTimeout方法中传送对象

    在window.setTimeout方法中传送对象

    setTimeout方法是js中的延时方法,很多js的bug,只需要使用该方法延时一下,就会自动解决了,简直就是万能药方,也是我比较喜欢使用的最后手段。
    2006-12-12
  • 如何使用uniapp开发微信小程序获取当前位置详解

    如何使用uniapp开发微信小程序获取当前位置详解

    uni-app小程序项目无法直接获取到地理位置,只能通过获取到的经纬度,调用第三方地图Api获取,下面这篇文章主要给大家介绍了关于如何使用uniapp开发微信小程序获取当前位置的相关资料,需要的朋友可以参考下
    2022-10-10
  • JS访问DOM节点方法详解

    JS访问DOM节点方法详解

    这篇文章主要介绍了JS访问DOM节点方法,结合实例形式较为详细的分析了JS访问DOM节点的相关函数与使用方法,需要的朋友可以参考下
    2016-11-11
  • Uni-app跨平台开发应用入门实战

    Uni-app跨平台开发应用入门实战

    这篇文章主要为大家介绍了Uni-app跨平台开发应用入门实战示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • JavaScript实现可拖拽的拖动层Div实例

    JavaScript实现可拖拽的拖动层Div实例

    这篇文章主要介绍了JavaScript实现可拖拽的拖动层Div的方法,拖拽页面中的div块可实现div块按照拖动轨迹移动的效果,涉及javascript鼠标事件、页面元素样式结合事件函数动态操作的相关技巧,需要的朋友可以参考下
    2015-08-08

最新评论