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+xml实现简单图片轮换(只支持IE)
Dec 23 Javascript
Js为表单动态添加节点内容的方法
Feb 10 Javascript
JQuery中ajax方法访问web服务实例
Jul 18 Javascript
Web前端开发工具——bower依赖包管理工具
Mar 29 Javascript
Jquery $when done then的用法详解
May 20 Javascript
JS实现仿百度文库评分功能
Jan 12 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
Aug 16 Javascript
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 Javascript
JavaScript实现的联动菜单特效示例
Jul 08 Javascript
layui添加动态菜单与选项卡
Jul 26 Javascript
JS实现简易留言板特效
Dec 23 Javascript
Vue使用JSEncrypt实现rsa加密及挂载方法
Feb 07 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
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
php 检查电子邮件函数(自写)
2014/01/16 PHP
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
写给小白的JavaScript引擎指南
2015/12/04 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
angularjs实现下拉列表的选中事件示例
2017/03/03 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
python爬虫常用的模块分析
2014/08/29 Python
python使用分治法实现求解最大值的方法
2015/05/12 Python
Python可变参数用法实例分析
2017/04/02 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
苹果音乐订阅:Apple Music
2018/08/02 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
婚礼证婚人证婚词
2014/01/13 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
长城导游词400字
2015/01/30 职场文书
办公室主任个人总结
2015/02/28 职场文书
特此通知格式
2015/04/27 职场文书
行政处罚听证告知书
2015/07/01 职场文书
开学第一周值周总结
2015/07/16 职场文书
学校运动会加油词
2015/07/18 职场文书
获奖感言一句话
2015/07/31 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
python可视化之颜色映射详解
2021/09/15 Python
SQL Server使用T-SQL语句批处理
2022/05/20 SQL Server