動態增長、修改、刪除URL參數方法

一、獲取url的指定參數
      _getQueryString:function(key){
        var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if(r!=null)return  unescape(r[2]); return null;
      },
二、動態修改url指定參數,若修改的參數不存在則追加到url中
      _changeUrlArg:function(url,arg,val){
          var pattern = arg+'=([^&]*)';
          var replaceText = arg+'='+val;
          return url.match(pattern) ? url.replace(eval('/('+ arg+'=)([^&]*)/gi'), replaceText) : (url.match('[\?]') ? url+'&'+replaceText : url+'?'+replaceText);
      },

三、刪除參數:
    _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('&');
        }
    }
相關文章
相關標籤/搜索