封装cookie,获取、设置、删除cookie

// 第一种
// 获取cooke
function getcookie(key){
    var cookie=document.cookie;
    var arr=[];
    var oName=[];
    var oValue=[];
    //将数组以;分割
    var newcookie=cookie.split(";");
    for(var i=0;i<newcookie.length;i++){
        //将数组以=分割
        arr.push(newcookie[i].split("="));
    }
//        循环添加key值和value    for(var j=0;j<arr.length;j++){
        oName.push(arr[j][0]);
        oValue.push(arr[j][1]);
    }
    //清除空格 判断返回数组
    for(var k=0;k<oName.length;k++){
        oName[k]=oName[k].replace(" ","");
        if(oName[k]==key){
            return [oName[k],oValue[k]];
        }
    }
}
//设置cookie
function setcookie(key,value,time){
    time=new Date();
    time.setDate(time.getDate()+30);
    document.cookie=`${key}=${value};expires=`+time;
}
// 删除cookie
function clearcookie() {
    setcookie(key,getcookie(key)[1],-1)
    // getcookie(key)[1]获得两个值,一个k值,一个value,需要的值为value
    // -1为过期事件
    // document.cookie='name:value;expires=time';
}

// 第二种
var Cookie = {
    // 读取
    read : function(name){
        var cookieStr = "; "+document.cookie+"; ";
        var index = cookieStr.indexOf("; "+name+"=");
        if (index!=-1){
            var s = cookieStr.substring(index+name.length+3,cookieStr.length);
            return unescape(s.substring(0, s.indexOf("; ")));
        }else{
            return null;
        }
    },
    // 设置
    set : function(name,value,expires){
        var expDays = expires*24*60*60*1000;
        var expDate = new Date();
        expDate.setTime(expDate.getTime()+expDays);
        var expString = expires ? "expires="+expDate.toGMTString() : "";
        var pathString = ";path=/";
        document.cookie = name + "=" + escape(value) + expString + pathString;
    },
    // 删除
    del : function(name){
        var exp = new Date(new Date().getTime()-1);
        var s=this.read(name);
        if(s!=null) {
            document.cookie= name + "="+s+"expires="+exp.toGMTString()+";path=/"
            // toGMTString()根据格林威治时间 (GMT)  Date 对象转换为字符串,并返回结果
        }
    }
};
// demo:
Cookie.set("xuanfengge", "www.xuanfengge.com", 7);
alert(Cookie.read("xuanfengge"));
Cookie.del("xuanfengge");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值