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 相关文章推荐
parseInt parseFloat js字符串转换数字
Aug 01 Javascript
jquery中子元素和后代元素的区别示例介绍
Apr 02 Javascript
javascript实现页面内关键词高亮显示代码
Apr 03 Javascript
jQuery中contents()方法用法实例
Jan 08 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
Aug 31 Javascript
Angularjs中使用Filters详解
Mar 11 Javascript
AngularJS表单验证中级篇(3)
Sep 28 Javascript
jQuery图片拖动组件Dropzone用法示例
Jan 17 Javascript
Vue.js实现简单动态数据处理
Feb 13 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
vue.js 子组件无法获取父组件store值的解决方式
Nov 08 Javascript
ElementUI 修改默认样式的几种办法(小结)
Jul 29 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实现与ASP Banner组件相似的类
2006/10/09 PHP
php使用fputcsv()函数csv文件读写数据的方法
2015/01/06 PHP
php生成图片验证码
2015/06/09 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
javacript获取当前屏幕大小
2016/06/04 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
详解基于vue的服务端渲染框架NUXT
2018/06/20 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
Python中endswith()函数的基本使用
2015/04/07 Python
在Django中创建动态视图的教程
2015/07/15 Python
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
详解Python发送邮件实例
2016/01/10 Python
Python实现端口检测的方法
2018/07/24 Python
python递归法解决棋盘分割问题
2019/07/17 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
J2EE包括哪些技术
2016/11/25 面试题
办公室主任岗位职责
2013/11/08 职场文书
晚会邀请函范文
2014/01/24 职场文书
纪念一二九运动演讲稿
2014/09/16 职场文书
校运会宣传稿大全
2015/07/23 职场文书