博客搬家了,欢迎大家关注,https://bobjin.com

js设置、获取单值cookie和多值cookie,代码如下:

 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 == -1) {
end = document.cookie.length;
}
return decodeURIComponent(document.cookie.substring(start+name.length+1,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() + 7*24*60*60*1000);
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(0), 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 = 0, len = arr.length; i < len; i++) {
var tmpArr = arr[i].split(':');
obj[decodeURIComponent(tmpArr[0])] = decodeURIComponent(tmpArr[1]);
}
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(0), 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();
})();
博客搬家了,欢迎大家关注,https://bobjin.com

最新文章

  1. Android Studio项目提交到GitHub
  2. 一些js小知识点整理
  3. About MTU,TCP-MSS (转)
  4. POJ1160 Post Office[序列DP]
  5. 代码重构之 —— 一堆if、esle 逻辑的处理
  6. js中的cookie操作
  7. javaWeb-mvc之利用c3p0写入数据库出现乱码
  8. 浅谈JS面向对象之创建对象
  9. 【CodeForces 489A】SwapSort
  10. 调用openoffice Com组件转换成PDF
  11. 剑指Offer33 第一个只出现一次的字符
  12. IE str.trim() 不兼容问题解决方法
  13. [学习笔记]设计模式之Chain of Responsibility
  14. FCKeditor 2.6.6在ASP中的安装及配置方法分享--ZZ转载自网络
  15. CCIE-MPLS VPN-实验手册(上卷)
  16. codeforces_Codeforces Round #541 (Div. 2)_abc
  17. 学JAVA第四天,JAVA获取年月日
  18. SQL Server脚本
  19. Django web框架-----url path name详解
  20. 图片转成base64位 页面中图片展示

热门文章

  1. Step by step 如何创建一个新森林
  2. 如何使用Worktile进行敏捷项目开发管理
  3. 新开了一个ABP交流的QQ群(579765441 ),欢迎加入
  4. java.lang.IndexOutOfBoundsException at java.io.FileOutputStream.writeBytes(Native Method)
  5. IOS关于LKDBHelper实体对象映射插件运用
  6. 日历组件 原生js
  7. 自定义模拟一个Spring IOC容器
  8. Security6:授予权限的思路和一般步骤
  9. jQuery 2.0.3 源码分析 回调对象 - Callbacks
  10. WebAPi添加常用扩展方法及思维发散