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

var jsUrlHelper = {
    //获取参数
    getUrlParam : function(url, ref) {
      var str = "";

    // 如果不包括此参数
    if (url.indexOf(ref) == -1)
        return "";

    str = url.substr(url.indexOf('?') + 1);

    arr = str.split('&');
    for (i in arr) {
        var paired = arr[i].split('=');

        if (paired[0] == ref) {
            return paired[1];
        }
    }

    return "";
},
//修改参数
putUrlParam : function(url, ref, value) {
     
    // 如果没有参数
    if (url.indexOf('?') == -1)
        return url + "?" + ref + "=" + value;

    // 如果不包括此参数
    if (url.indexOf(ref) == -1)
        return url + "&" + ref + "=" + value;

    var arr_url = url.split('?');

    var base = arr_url[0];

    var arr_param = arr_url[1].split('&');

    for (i = 0; i < arr_param.length; i++) {

        var paired = arr_param[i].split('=');

        if (paired[0] == ref) {
            paired[1] = value;
            arr_param[i] = paired.join('=');
            break;
        }
    }

    return base + "?" + arr_param.join('&');
},
 // 移除参数
delUrlParam : function(url, ref) {

    // 如果不包括此参数
    if (url.indexOf(ref) == -1)
        return url;

    var arr_url = url.split('?');

    var base = arr_url[0];

    var arr_param = arr_url[1].split('&');

    var index = -1;

    for (i = 0; i < arr_param.length; i++) {

        var paired = arr_param[i].split('=');

        if (paired[0] == ref) {

            index = i;
            break;
        }
    }

    if (index == -1) {
        return url;
    } else {
        arr_param.splice(index, 1);
        return base + "?" + arr_param.join('&');
    }
  }
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容