JavaScript设置、获取、清除单值和多值cookie的方法


Posted in Javascript onNovember 17, 2015

废话不多说了,直接给大家贴代码了。

具体代码如下:

var CookieUtil = (function () {
   var Cookie = function () {
     // 获取单值cookie
     this.get = function(name) {
       var start = document.cookie.indexOf(encodeURIComponent(name)) ;
       var end = document.cookie.indexOf(';', start) ;
       if(end == -) {
         end = document.cookie.length;
       }
       return decodeURIComponent(document.cookie.substring(start+name.length+,end));
     };
     // 设置单值cookie
     this.set = function(name, value, expires, path, domain, secure) {
       var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);
       // 设置默认过期时间为七天
       if(expires == undefined) {
         var date = new Date();
         date.setTime(date.getTime() + ****);
         expires = date ;
       }
       if(expires instanceof Date) {
         cookieText += "; expires=" + expires.toGMTString();
       }
       if(path != undefined) {
         cookieText += "; path=" + path;
       }
       if(domain != undefined) {
         cookieText += "; domain" + domain;
       }
       if(secure != undefined) {
         cookieText += "; secure";
       }
       document.cookie = cookieText;
     };
     // 清除单值cookie
     this.unset = function(name, path, domain, secure) {
       this.set(name, '', new Date(), path, domain, secure );
     };
     // 设置多值cookie
     this.setAll = function(name, subCookies, expires, path, domain, secure) {
       var cookieText = ";" + encodeURIComponent(name) + "=",
       arr = new Array();
       for(var attr in subCookies) {
         arr.push([encodeURIComponent(attr)] + ":" + encodeURIComponent(subCookies[attr]));
       } 
       this.set(name, arr.join('&'), expires, path, domain, secure);
     };
     // 获取多值cookie
     this.getAll = function(name) {
       var obj = {};
       var arr = this.get(name).split('&');
       for(var i = , len = arr.length; i < len; i++) {
         var tmpArr = arr[i].split(':');
         obj[decodeURIComponent(tmpArr[])] = decodeURIComponent(tmpArr[]);
       }
       return obj;
     };
     // 获取多值cookie的子cookie
     this.getSub = function(name, subname) {
       var obj = this.getAll(name);
       return obj[subname];
     };
     // 清除指定的多值cookie
     this.unsetAll = function(name,path,domain,secure) {
       this.unset(name, '', new Date(), path, domain, secure);
     };
     // 清除指定多值cookie的子cookie
     this.unsetSub = function(name, subname,path, domain, secure) {
       var obj = this.getAll(name);
       delete obj[subname];
       this.setAll(name, obj, null, path, domain, secure);
     };
   };
   return new Cookie();
 })();

 以上代码就是本文给大家介绍JavaScript设置、获取、清除单值和多值cookie的方法,有哪里不清楚的地方欢迎给我留言。

Javascript 相关文章推荐
关于html+ashx开发中几个问题的解决方法
Jul 18 Javascript
深入document.write()与HTML4.01的非成对标签的详解
May 08 Javascript
图片翻转效果具体实现代码
Jan 09 Javascript
javascript将相对路径转绝对路径示例
Mar 14 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
Apr 11 Javascript
Js 正则表达式知识汇总
Dec 02 Javascript
原生Javascript和jQuery做轮播图简单例子
Oct 11 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 Javascript
jquery实现放大镜简洁代码(推荐)
Jun 08 jQuery
jQuery事件blur()方法的使用实例讲解
Mar 30 jQuery
JS回调函数简单易懂的入门实例分析
Sep 29 Javascript
Vue router安装及使用方法解析
Dec 02 Vue.js
每天一篇javascript学习小结(RegExp对象)
Nov 17 #Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
Nov 17 #Javascript
js全选按钮的实现方法
Nov 17 #Javascript
javascript实现省市区三级联动下拉框菜单
Nov 17 #Javascript
javascript中return,return true,return false三者的用法及区别
Nov 17 #Javascript
jquery表单验证需要做些什么
Nov 17 #Javascript
今天抽时间给大家整理jquery和ajax的相关知识
Nov 17 #Javascript
You might like
PHP源码之 ext/mysql扩展部分
2009/07/17 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
统计出现最多的字符次数的js代码
2010/12/03 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
[02:41]DOTA2亚洲邀请赛小组赛第三日 赛事回顾
2015/02/01 DOTA
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
Python编程之Re模块下的函数介绍
2017/10/28 Python
python中abs&amp;map&amp;reduce简介
2018/02/20 Python
Python设计模式之观察者模式原理与用法详解
2019/01/16 Python
python各类经纬度转换的实例代码
2019/08/08 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
python实现最短路径的实例方法
2020/07/19 Python
两年的个人工作自我评价
2014/01/10 职场文书
学年自我鉴定
2014/01/16 职场文书
2015年护士节慰问信
2015/03/23 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书