js 获取url中的参数 修改url 参数 移除url参数

Posted 不断积累,必然飞跃,突破随之!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 获取url中的参数 修改url 参数 移除url参数相关的知识,希望对你有一定的参考价值。

js 获取url中的参数 修改url 参数 移除url参数

function urlHelper() {

    var obj = {};

    //获取url参数的值:name是参数名
    obj.getQueryString = function (name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) {
            return (r[2]);
        }
        return null;
    }

    //设置url参数值,ref参数名,value新的参数值
    obj.changeURLPar = function (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;
    }

    //删除参数值
    obj.delQueStr = function (url, ref) {
        var str = "";
        if (url.indexOf(‘?‘) != -1) {
            str = url.substr(url.indexOf(‘?‘) + 1);
        }
        else {
            return url;
        }
        var arr = "";
        var returnurl = "";
        var setparam = "";
        if (str.indexOf(‘&‘) != -1) {
            arr = str.split(‘&‘);
            for (i in arr) {
                if (arr[i].split(‘=‘)[0] != ref) {
                    returnurl = returnurl + arr[i].split(‘=‘)[0] + "=" + arr[i].split(‘=‘)[1] + "&";
                }
            }
            return url.substr(0, url.indexOf(‘?‘)) + "?" + returnurl.substr(0, returnurl.length - 1);
        }
        else {
            arr = str.split(‘=‘);
            if (arr[0] == ref) {
                return url.substr(0, url.indexOf(‘?‘));
            }
            else {
                return url;
            }
        }
    }

    return obj;
}

 

以上是关于js 获取url中的参数 修改url 参数 移除url参数的主要内容,如果未能解决你的问题,请参考以下文章

Js读取url中的参数修改url的参数

如何使用js获取修改URL

js获取url中指定参数的值(兼容hash)

js获取url参数 如何改变当前页面内某个图片的地址?

如何用js获取浏览器URL中查询字符串的参数

js获取当前url地址参数中文乱码问题