您的位置:首页 > Web前端 > JavaScript

JavaScript 操作Cookie

2017-05-04 16:47 295 查看
创建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!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cookie javascript