zoukankan      html  css  js  c++  java
  • js 获取url中的参数 修改url 参数 移除url参数

    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('&');
            }
        }
    };

    测试

    var url1 = "http://localhost?page=tpage&size=tsize&key=tkey";
        
        console.log('----get-------')
        console.log(jsUrlHelper.getUrlParam(url1,'page'))
        console.log(jsUrlHelper.getUrlParam(url1,'size'))
        console.log(jsUrlHelper.getUrlParam(url1,'key'))
        console.log(jsUrlHelper.getUrlParam(url1,'other'))
        console.log('----del-------')
        console.log(jsUrlHelper.delUrlParam(url1,'page'))
        console.log(jsUrlHelper.delUrlParam(url1,'size'))
        console.log(jsUrlHelper.delUrlParam(url1,'key'))
        console.log(jsUrlHelper.delUrlParam(url1,'other'))
        console.log('----put-------')
        console.log(jsUrlHelper.putUrlParam(url1,'page','page'))
        console.log(jsUrlHelper.putUrlParam(url1,'size','size'))
        console.log(jsUrlHelper.putUrlParam(url1,'key','key'))
        console.log(jsUrlHelper.putUrlParam(url1,'other','other'))

    输出

    ----get-------
    tpage
    tsize
    tkey
    
    ----del-------
    http://localhost?size=tsize&key=tkey
    http://localhost?page=tpage&key=tkey
    http://localhost?page=tpage&size=tsize
    http://localhost?page=tpage&size=tsize&key=tkey
    ----put-------
    http://localhost?page=page&size=tsize&key=tkey
    http://localhost?page=tpage&size=size&key=tkey
    http://localhost?page=tpage&size=tsize&key=key
    http://localhost?page=tpage&size=tsize&key=tkey&other=other
  • 相关阅读:
    判断Java Bean对象所有属性是否为空
    Java在服务器下删除文件、删除目录及目录下所有文件失败(file.delete() --> false)
    Java判断两个Integer类型的值是否相等
    Java将多张图片合并打包成zip格式进行下载
    Java给图片添加水印部署到服务器出现中文乱码
    SpringBoot+SpringMvc页面跳转404问题
    已解决:Caused by: java.lang.NoClassDefFoundError: org/springframework/util/AntPathMatcher$AntPatternComparator$PatternInfo
    ActiveMQ如何解决被重复消费和数据丢失的问题?
    高并发系统三大利器之降级
    高并发系统三大利器之限流
  • 原文地址:https://www.cnblogs.com/wenming205/p/7620133.html
Copyright © 2011-2022 走看看