zoukankan      html  css  js  c++  java
  • cookie的封装和删除修改

    一、设置
            
    name = value;
    path = 路径;
    expires = new Date();
    var d = new Date();
    d.setDate(30)
    document.cookie = "password = tp;path = /;expires = "+d
     
    var d2 = new Date();
    d2.setDate(30)
    document.cookie = "password = 123456;path = /; expires = " +d
     
            封装
                name value 一定会改;
                path expires 不一定会改
        
        分离 
        
    function setCookie (name , value,path, expires){
        //根据参数判断是否拼接path 和expires;
        var str = name + "="+value;
        if(path){
            str += "; path=" + path;
        }
        if(expires){
            var d = new Date();
            d.setDate(d.getDate() + expires)
            str += ";expires = " +d;
        }
        console.log(str);
        document.cookie = str;
    }
     
    字符串拼接的封装
        
    setCookie ("sss","hhhh","/cookie",20)
     
        如果不定参(非必选参数)有多个,我们一般会把这样的参数放进一个对象之中
        
    function setCookie (name,value,options){
        //根据参数判定是否拼接path和expires;
        var str = name + "=" + value;
        if(options.path){
            str += ";path =" + options.path;
        }
        if(option.expires) {
            var d = new Date();
            d.setDate(d.getDate() + options.expires) 
            str += ";expires = " +d;
        }
            console.log(str);
            document.cookie = str;
    }
        
    setCookie ("hhh","dddd",{
        expires:30
    })
     
    优雅封装
    function setCookie (name,value,options){
        document.cookie = (function(name,value,options){
        var str = name + "="+value;
        if(options.path){
            str += ";path +" = "options.path
        } 
        if(options.expires){
            var d = new Date();
            d.setDate(d.getDate()+options.expires)
            str += ";expires =" +d;
         }
            return str;
    }) (name,value,options)       
    }
     
    setCookie ("hhh","dddd",{
        expires:30
    })
     
    删除
        
    function removeCookie (name,path){
        setCookie(name,"",{
            expires : -1,
            path : path
        })
    }
    removeCookie ("hhhh")
     
    获取
        
    function setCookie (name,value,options){
        docunment.cookie = (function(name,value,options){
            var str = name + "=" + value;
                if(options.path){
                str += ";path = " + options.path;
            }
                if(options.expires){
                    var d = new Date();
                    d.setDate(d.getDate() + options.expires)
                    str += ";expires = " + d;
            }
                return str;
        })(name,value,options)
    }
     
    setCookie ("username","tp",{
        expions:10
    })
     
    setCookie ("password" ,"123456",{
        expires :1 0
    })
     
        1、每条cookie 以  ; 空格进行分割;
        2、key 和 value 以 = 进行分割;
     
    function getCookie (key){
        var str = document.cookie ;
        //字符串转化成数组
       // string.split() ; 切割字符串;
        var arr = str.split(";")
        //console.log(str,arr);
        //var res = arr.map(function(item,index){
           // if(key == item.split("=")[0]){
             //  return (item.split("=")[1]);
            }
        return false
        })
        for(var i = 0; i < arr.length; i ++){
            if(key === arr[i].split("=")[0]){
                return arr[i].split("=")[1];
           }
        }
        console.og(res)
        return "";
    }
    console.log(getCookie ("username"));
     
     
  • 相关阅读:
    内网穿透(Frp)-拯救没有公网IP的你
    用Windows远程桌面连接树莓派的方法
    TensorFlow 1.9开始支持树莓派
    树莓派制作遥控小车-新手教程
    Layui 一个页面包含多个table时不展示分页条
    MVC 通过@符号把数据赋值给jQuery对象
    jQuery 批量为表单元素赋值
    layui分页组件,一直在调用方法的解决办法
    layui 表格复选框不居中解决办法
    JQuery 解决遮罩层下内容可以滚动问题
  • 原文地址:https://www.cnblogs.com/TianPeng2/p/9991752.html
Copyright © 2011-2022 走看看