javascript cookie操作类的实现代码小结附使用方法


Posted in Javascript onJune 02, 2010

第一种方法:cookie操作类,代码封装了,下面也有使用方法,大家可以参考下。

String.prototype.Trim = function() 
{ 
return this.replace(/^\s+/g,"").replace(/\s+$/g,""); 
} 
function JSCookie() 
{ 
this.GetCookie = function(key) 
{ 
var cookie = document.cookie; 
var cookieArray = cookie.split(';'); 
var getvalue = ""; 
for(var i = 0;i<cookieArray.length;i++) 
{ 
if(cookieArray[i].Trim().substr(0,key.length) == key) 
{ 
getvalue = cookieArray[i].Trim().substr(key.length + 1); 
break; 
} 
} 
return getvalue; 
}; 
this.GetChild = function(cookiekey,childkey) 
{ 
var child = this.GetCookie(cookiekey); 
var childs = child.split('&'); 
var getvalue = ""; 
for(var i = 0;i < childs.length;i++) 
{ 
if(childs[i].Trim().substr(0,childkey.length) == childkey) 
{ 
getvalue = childs[i].Trim().substr(childkey.length + 1); 
break; 
} 
} 
return getvalue; 
}; 
this.SetCookie = function(key,value,expire,domain,path) 
{ 
var cookie = ""; 
if(key != null && value != null) 
cookie += key + "=" + value + ";"; 
if(expire != null) 
cookie += "expires=" + expire.toGMTString() + ";"; 
if(domain != null) 
cookie += "domain=" + domain + ";"; 
if(path != null) 
cookie += "path=" + path + ";"; 
document.cookie = cookie; 
}; 
this.Expire = function(key) 
{ 
expire_time = new Date(); 
expire_time.setFullYear(expire_time.getFullYear() - 1); 
var cookie = " " + key + "=e;expires=" + expire_time + ";" 
document.cookie = cookie; 
} 
}

用法:
一、设置cookie
var cookie = new JSCookie();
//普通设置
cookie .SetCookie("key1","val1");
//过期时间为一年
var expire_time = new Date();
expire_time.setFullYear(expire_time.getFullYear() + 1);
cookie .SetCookie("key2","val2",expire_time);
//设置域及路径,带过期时间
cookie .SetCookie("key3","val3",expire_time,".cnblogs.com","/");
//设置带子键的cookie,子键分别是k1,k2,k3
cookie .SetCookie("key4","k1=1&k2=2&k3=3");
二、读取cookie
//简单获取
cookie .GetCookie("key1");
cookie .GetCookie("key2");
cookie .GetCookie("key3");
cookie .GetCookie("key4");
//获取key4的子键k1值
cookie .GetChild("key4","k1");
三、删除
cookie .Expire("key1");
cookie .Expire("key2");
cookie .Expire("key3");
cookie .Expire("key4");
第二种方法:cookie操作函数,三水点靠木也是用的这个。大家可以根据需要选择。
function setCookie(name, value) //cookies设置JS 
{ 
var argv = setCookie.arguments; 
var argc = setCookie.arguments.length; 
var expires = (argc > 2) ? argv[2] : null; 
if(expires!=null) 
{ 
var LargeExpDate = new Date (); 
LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24)); 
} 
document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString())); 
} function getCookie(Name) //cookies读取JS 
{ 
var search = Name + "=" 
if(document.cookie.length > 0) 
{ 
offset = document.cookie.indexOf(search) 
if(offset != -1) 
{ 
offset += search.length 
end = document.cookie.indexOf(";", offset) 
if(end == -1) end = document.cookie.length 
return unescape(document.cookie.substring(offset, end)) 
} 
else return "" 
} 
}

使用方法:
if(getCookie("yxjok")!="ok"){ 
//判断cookie中yxjok的值是不是为ok,不是则显示下面的广告。 
document.write('<div id="3water_yxj"><a href="https://3water.com" onclick="Closeyxj()" target="_blank"><img src="https://3water.com/images/logo.gif" 
/></a></div>'); 
} 
function Closeyxj(){ 
//关闭广告的现实。并用cookies记录已经显示过了,这里的功能主要是关闭后一段时间不显示默认是24小时。 
$("3water_yxj").style.display='none'; 
setCookie("yxjok","ok",10); 
} function setADCookie(name, value) //主要是修改了cookies的过期时间,为几分钟。 
{ 
var argv = setADCookie.arguments; 
var argc = setADCookie.arguments.length; 
var expires = (argc > 2) ? argv[2] : null; 
if(expires!=null) 
{ 
var LargeExpDate = new Date (); 
LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*300)); 
} 
document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString())); 
}
Javascript 相关文章推荐
JS 判断undefined的实现代码
Nov 26 Javascript
JS重要知识点小结
Nov 06 Javascript
JQuery设置时间段下拉选择实例
Dec 30 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
Jan 29 Javascript
JavaScript将一个数组插入到另一个数组的方法
Mar 19 Javascript
用js编写的简单的计算器代码程序
Aug 04 Javascript
JS for...in 遍历语句用法实例分析
Aug 24 Javascript
实例解析js中try、catch、finally的执行规则
Feb 24 Javascript
jQuery Position方法使用和兼容性
Aug 23 jQuery
详解基于Vue-cli搭建的项目如何和后台交互
Jun 29 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
Oct 19 Javascript
vue项目中使用fetch的实现方法
Apr 25 Javascript
js操作select控件的几种方法
Jun 02 #Javascript
Jquery升级新版本后选择器的语法问题
Jun 02 #Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
Jun 02 #Javascript
JQuery index()方法使用代码
Jun 02 #Javascript
JQuery下的Live方法和$.browser方法使用代码
Jun 02 #Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
Jun 01 #Javascript
一些经常会用到的Javascript检测函数
May 31 #Javascript
You might like
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
一个PHP模板,主要想体现一下思路
2006/12/25 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
node.js中的path.join方法使用说明
2014/12/08 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
在Python中关于使用os模块遍历目录的实现方法
2019/01/03 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
Python3 虚拟开发环境搭建过程(图文详解)
2020/01/06 Python
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
电子专业推荐信范文
2013/11/18 职场文书
市场营销专科应届生求职信
2013/11/24 职场文书
迎接领导欢迎词
2014/01/11 职场文书
小学生优秀评语大全
2014/04/22 职场文书
女生节标语
2014/06/26 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
2014年社区个人工作总结
2014/12/02 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
感恩教育观后感
2015/06/17 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
k8s部署redis cluster集群的实现
2021/06/24 Redis
PYTHON InceptionV3模型的复现详解
2022/05/06 Python