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 相关文章推荐
javascript获取当前日期时间及其它操作函数
Jan 11 Javascript
jQuery 源码分析笔记(7) Queue
Jun 19 Javascript
js创建元素(节点)示例
Jan 02 Javascript
使用js画图之画切线
Jan 12 Javascript
JavaScript获得页面base标签中url的方法
Apr 03 Javascript
使用node+vue.js实现SPA应用
Jan 28 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
AngularJS实现页面定时刷新
Mar 14 Javascript
vue页面离开后执行函数的实例
Mar 13 Javascript
JS实现键值对遍历json数组功能示例
May 30 Javascript
微信小程序实现随机验证码功能
Dec 20 Javascript
深入解析koa之异步回调处理
Jun 17 Javascript
每天一篇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 array_walk() 数组函数
2011/07/12 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
项目实践之javascript技巧
2007/12/06 Javascript
JavaScript 设计模式学习 Factory
2009/07/29 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
JS解析XML实例分析
2015/01/30 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
2018/09/21 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】
2019/03/16 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
python实现京东秒杀功能
2018/07/30 Python
python实现简单的文字识别
2018/11/27 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
自荐书格式
2013/12/01 职场文书
优秀党支部事迹材料
2014/01/14 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
党员民主评议总结
2014/10/20 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
费城故事观后感
2015/06/10 职场文书
实现GO语言对数组切片去重
2022/04/20 Golang
mybatis 获取更新记录的id
2022/05/20 Java/Android