javascript中方便增删改cookie的一个类


Posted in Javascript onOctober 11, 2012

主要是通过对document.cookie字符串的分析来进行功能的组装的。
温习一下javascript中对cookie的操作:
增加cookie可以用document.cookie="userId=111";来实现
完整版可以用:document.cookie="userId=111;domain=.google.com;path=\;secure=secure;expire="+date.toGMTString();
可以设置cookie的过期时间,域名,路径
需要删除只要将expire的时间设为现在之前就可以了
现在上我修改的javascript.cookie.js的类

/* 
cookie helper class 
easy to write,get,delete 
*/ 
var myCookie={ 
get:function(name){ 
if(typeof name != "undefined") 
{ 
//if name given call the get value function 
return myCookie_get(name); 
}else{ 
//if name is not given,i want get all the cookie item 
return myCookie_getAll(); 
} 
}, 
add:function(name,value,options){ 
//write the cookie 
myCookie_add(name,value,options); 
}, 
delete:function(name){ 
//delete the cookie 
myCookie_add(name,null); 
} 
} 
String.prototype.Trim = function() 
{ 
return this.replace(/^\s+/g,"").replace(/\s+$/g,""); 
} 
/* 
cookie write function 
@name:the cookie name not null 
@value:the cookie value null==delete the cookie 
@option:{"expires":expire time;"path":/;"domain":localhost;"secure":secure} 
*/ 
function myCookie_add(name,value,options) 
{ 
if (typeof value != 'undefined') { // name and value given, set cookie 
options = options || {}; 
if (value === null) { 
value = ''; 
options.expires = -1; 
} 
var expires = ''; 
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { 
var date; 
if (typeof options.expires == 'number') { 
date = new Date(); 
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); 
} else { 
date = options.expires; 
} 
expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE 
} 
var path = options.path ? '; path=' + options.path : ''; 
var domain = options.domain ? '; domain=' + options.domain : ''; 
var secure = options.secure ? '; secure' : ''; 
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); 
} 
} 
/* 
get the name cookie 
@name:the cookie's name 
*/ 
function myCookie_get(name) 
{ 
var cookieValue = null; 
if (document.cookie && document.cookie != '') { 
var cookies = document.cookie.split(';'); 
for (var i = 0; i < cookies.length; i++) { 
var cookie = cookies[i].Trim(); 
// Does this cookie string begin with the name we want? 
if (cookie.substring(0, name.length + 1) == (name + '=')) { 
cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 
break; 
} 
} 
} 
return cookieValue; 
} 
/* 
get all the cookie return as a json 
*/ 
function myCookie_getAll() 
{ 
var cookieArray = new Array(); 
var str=""; 
var temp; 
if (document.cookie && document.cookie != '') { 
var cookies = document.cookie.split(';'); 
for (var i = 0; i < cookies.length; i++) { 
var cookie = cookies[i].Trim(); 
temp=cookie.split('='); 
//take the 
cookieArray.push("{\"name\":\""+decodeURIComponent(temp[0])+"\",\"value\":\""+decodeURIComponent(temp[1])+"\"}"); 
} 
str=cookieArray.join(","); 
} 
str="["+str+"]"; 
return eval('('+str+')'); 
}

调用也是相当简单
myCookie.add("useraccount","admin",{"expires":5});//加入一个期限为5天的cookie 
alert(myCookie.get("useraccount"));//取出cookie 
cookies=myCookie.get();//得到所有的cookie 
for(var i=0;i<cookies.length;i++) 
{ 
alert(cookies[i]["name"]+":"+cookies[i]["value"]); 
} 
myCookie.delete("useraccount");//删除刚刚添加的cookie 
alert(myCookie.get("useraccount"));

Javascript 相关文章推荐
Mootools 1.2教程 排序类和方法简介
Sep 15 Javascript
jquery validation插件表单验证的一个例子
Mar 03 Javascript
javascript获取当前日期时间及其它操作函数
Jan 11 Javascript
jquery验证邮箱格式并显示提交按钮
Nov 07 Javascript
js实现根据身份证号自动生成出生日期
Dec 15 Javascript
深入理解JavaScript中的预解析
Jan 04 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
Jan 20 Javascript
JS操作xml对象转换为Json对象示例
Mar 25 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
Jul 17 Javascript
vue实现树形结构样式和功能的实例代码
Oct 15 Javascript
JavaScript函数IIFE使用详解
Oct 21 Javascript
JS如何实现封装列表右滑动删除收藏按钮
Jul 23 Javascript
js事件(Event)知识整理
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
Oct 11 #Javascript
You might like
php使用qr生成二维码的示例分享
2014/01/20 PHP
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
vue如何使用 Slot 分发内容实例详解
2017/09/05 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
Vue实现移动端拖拽交换位置
2020/07/29 Javascript
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
Python类class参数self原理解析
2020/11/19 Python
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
5.1手机促销活动
2014/01/17 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
校园安全广播稿
2014/02/08 职场文书
常务副县长“四风”个人对照检查材料思想汇报
2014/10/02 职场文书
工程安全生产协议书
2014/11/21 职场文书
2014年英语工作总结
2014/12/20 职场文书
高三英语教学计划
2015/01/23 职场文书
推荐信范文大全
2015/03/27 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
如何理解python接口自动化之logging日志模块
2021/06/15 Python