JavaScript 操作Cookie

创建Cookie:

document.cookie="user=zhangsan"; //cookie是一个key-value的键值对

添加过期时间:(默认关闭浏览器删除)
document.cookie="user=zhangsan;expires=Thu,18 Dec 2017 12:00:00 GMT";

添加path路径:(默认当前路径)
document.cookie="user=zhangsan;expires=Thu,18 Dec 2017 12:00:00 GMT;path=/";

读取cookie

var x = document.cookie;
以字符串的形式返回所有的cookie,格式:cookie1=value;cookie2=value;

修改Cookie

和创建类似,在cookie name一致的情况下,新的cookie会覆盖旧 的cookie值

document.cookie="user=lisi;expires="Thu, 18 Dec 2013 12:00:00 GMT; path=/"

删除cookie

删除cookie只要指定cookie的过期时间比当前时间小即可
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";

可以看到,如果我们想获得特定cookie 的值,需要写一个函数,下面我们写一个设置cookie,获取特定cookie值的函数

设置cookie值的函数


/**
*cname cookie的名
*cvalue cookie的值
*exdays 过期天数
*/
function setCookie(cname,cvalue,exdays){
     var d = new Date(); //获取当前的时间
     d.setTime(d.getTime()+(exdays*24*60*60*1000)); //设置新的时间,为当前时间+exdays天数
     var expires = "expires="+d.toGMTString();
     document.cookie = cname+"="+cvalue+";"+expires;
}

获取指定cookie值的函数

//cname 为cookie的名 如user
function getCookie(cname){
     var name = cname +"="; 
     var ca = document.cookie.split(';');
     for(var i=0;i<ca.length;i++){
         var c = ca[i].trim();
         if(c.indexOf(name)==0) return c.substring(name.length,c.length); 
     }
     return "";
}


注意:更新cookie的path必须一致,不然是两个不同的cookie!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值