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 相关文章推荐
jQuery中的常用事件总结
Dec 27 Javascript
JS控制阿拉伯数字转为中文大写示例代码
Sep 04 Javascript
javascript根据像素点取位置示例
Jan 27 Javascript
自定义百度分享的分享按钮
Mar 18 Javascript
js实现开启密码大写提示
Dec 21 Javascript
Bootstrap中data-target 到底是什么
Feb 14 Javascript
使用vue.js编写蓝色拼图小游戏
Mar 17 Javascript
angularjs实现首页轮播图效果
Apr 14 Javascript
angular2路由切换改变页面title的示例代码
Aug 23 Javascript
vue微信分享的实现(在当前页面分享其他页面)
Apr 16 Javascript
vue 解决addRoutes多次添加路由重复的操作
Aug 04 Javascript
利用 JavaScript 构建命令行应用
Nov 17 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
上海无线电三厂简史修改版
2021/03/01 无线电
判“新”函数:得到今天与明天的秒数
2006/10/09 PHP
php 保留小数点
2009/04/21 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
如何用php获取程序执行的时间
2013/06/09 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
JavaScript数值类型知识汇总
2019/11/17 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
Python中map和列表推导效率比较实例分析
2015/06/17 Python
python和ruby,我选谁?
2017/09/13 Python
详解python持久化文件读写
2019/04/06 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
中秋手机店促销方案
2014/06/16 职场文书
关于学习的决心书
2015/02/05 职场文书
大学生毕业个人总结
2015/02/15 职场文书
刑事辩护词范文
2015/05/21 职场文书