码迷,mamicode.com
首页 > 其他好文 > 详细

设置cookie,获取cookie,删除cookie

时间:2017-11-27 12:48:41      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:tco   return   表达式   domain   登录   gettime   删除   路径   实例   

怎么设置cookie,怎么设置cookie以及删除cookie和cookie详解


设置cookie:
 1 /**
 2      * 设置cookie
 3      * @param name cookie的名称
 4      * @param value cookie的值
 5      * @param day cookie的过期时间
 6      */
 7     var setCookie = function (name, value, day) {
 8       if(day !== 0){     //当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
 9         var expires = day * 24 * 60 * 60 * 1000;
10         var date = new Date();
11         date.setTime(date.getTime() + expires);
12         document.cookie = name + "=" + escape(value) + ";expires=" + date.toUTCString();
13       }else{
14         document.cookie = name + "=" + escape(value);
15       }
16     };

注意:expires使用GMT或UTC格式的时间



获取cookie:
 1 /**
 2      * 获取对应名称的cookie
 3      * @param name cookie的名称
 4      * @returns {null} 不存在时,返回null
 5      */
 6     var getCookie = function (name) {
 7       var arr;
 8       var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
 9       if (arr = document.cookie.match(reg))
10         return unescape(arr[2]);
11       else
12         return null;
13     };

cookie获取正则解析:
"(^| )" + name + "=([^;]*)(;|$)"  (^| )匹配cookie开头或空格(cookie键值对之间用分号空格隔开),接着是cookie的名称name,([^;]*)匹配除分号以外的任意字符,最后(;|$)匹配分号或整个cookie的结尾

更多正则的语法详解请参考:

   正则表达式的用法和常用实例【1】

 



删除cookie:

 

1 /**
2      * 删除cookie
3      * @param name cookie的名称
4      */
5     var delCookie = function (name) {
6       setCookie(name, ‘ ‘, -1);
7     };

设置要删除的cookie的expires为过去的时间即可

 

cookie的主要作用:

Cookie主要用在以下三个方面:

  • 会话状态管理(如用户登录状态、购物车、游戏分数和其它需要记录的信息)
  • 个性化设置(如用户自定义设置、主题等)
  • 浏览器行为跟踪(如跟踪分析用户行为)

 

 

cookie设置语法:

 

document.cookie = "cookieName=mader; expires=Fri, 31 Dec 2017 15:59:59 GMT; path=/mydir; domain=cnblogs.commax-age=3600secure=true";

  •  cookieName=mader :name=value,cookie的名称和值
  •  expires=Fri, 31 Dec 2017 15:59:59 GMT: expires,cookie过期的日期,如果没有定义,cookie会在对话结束时过期。日期格式为 new Date().toUTCString()
  •  path=/mydir: path=path (例如 ‘/‘, ‘/mydir‘) 如果没有定义,默认为当前文档位置的路径。
  •  domain=cnblogs.com: 指定域(例如 ‘example.com‘, ‘.example.com‘ (包括所有子域名), ‘subdomain.example.com‘) 如果没有定义,默认为当前文档位置的路径的域名部分。
  •  max-age=3600: 文档被查看后cookie过期时间,单位为秒
  •  secure=true: cookie只会被https传输 ,即加密的https链接传输

设置cookie,获取cookie,删除cookie

标签:tco   return   表达式   domain   登录   gettime   删除   路径   实例   

原文地址:http://www.cnblogs.com/maderlzp/p/7843365.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!