js cookie的添加、获取、删除

cookie的添加、获取、删除在js中比较常用,方法也比较常规。

cookie的添加

/*
   功能:保存cookies函数 
   参数:name,cookie名字;value值
*/
function SetCookie(name, value) {
    var Days = 1;  //cookie 将被保存一天
    var exp = new Date(); //获得当前时间
    exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); //换成毫秒
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}

cookie的获取

/*
功能:获取cookies函数 
参数:name,cookie名字
*/
function getCookie(name) {
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) {
        return unescape(arr[2]);
    } else {
        return null;
    }
}

cookie的删除

/*
  功能:删除cookies函数 
  参数:name,cookie名字
*/
function delCookie(name) {
    var exp = new Date(); //当前时间
    exp.setTime(exp.getTime() - 1 * 24 * 60 * 60 * 1000);
    var cval = getCookie(name);
    if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

下面重点说下删除,用上述方法删除cookie的时候会出现删不掉的情况。如下图所示,使用谷歌浏览器打开cookie列表,选中某一个cookie后会显示cookie的相关参数。有一个参数是路径(path),有些cookie之所以删不掉是因为没有指定path参数。

cookie的删除 

/*
  功能:删除cookies函数 
  参数:name,cookie名字
*/
function delCookie(name) {
    var exp = new Date(); //当前时间
    exp.setTime(exp.getTime() - 1 * 24 * 60 * 60 * 1000);
    var cval = getCookie(name);
    if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";path=/xxx";
}

指定了path参数, cookie就可以正常删除了。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值