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 相关文章推荐
用JavaScript判断CSS浏览器类型前缀的两种方法
Oct 08 Javascript
关于JS 预解释的相关理解
Jun 28 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
Nov 18 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
Dec 08 Javascript
微信小程序 检查接口状态实例详解
Jun 23 Javascript
微信小程序获取微信运动步数的实例代码
Jul 20 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
Feb 21 Javascript
vue中slot(插槽)的介绍与使用
Nov 12 Javascript
vue-router启用history模式下的开发及非根目录部署方法
Dec 23 Javascript
js中的深浅拷贝问题简析
May 10 Javascript
Element DateTimePicker日期时间选择器的使用示例
Jul 27 Javascript
linux服务器快速卸载安装node环境(简单上手)
Feb 22 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
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
php Rename 更改文件、文件夹名称
2011/05/24 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
jQuery.Validate验证库的使用介绍
2013/04/26 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
JavaScript数组复制详解
2017/02/02 Javascript
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
python海龟绘图实例教程
2014/07/24 Python
Python中的XML库4Suite Server的介绍
2015/04/14 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
python MySQLdb使用教程详解
2018/03/20 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
python 伯努利分布详解
2020/02/25 Python
Python logging模块原理解析及应用
2020/08/13 Python
保险专业大专生求职信
2013/10/26 职场文书
减负增效提质方案
2014/05/23 职场文书
物理学专业自荐信
2014/06/11 职场文书
教师创先争优承诺书
2015/04/27 职场文书
2015年个人实习工作总结
2015/05/28 职场文书