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 相关文章推荐
ajax 文件上传应用简单实现
Mar 03 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
Jul 18 Javascript
jQuery Ajax调用WCF服务详细教程
Mar 31 Javascript
setTimeout内不支持jquery的选择器的解决方案
Apr 28 Javascript
如何用javascript计算文本框还能输入多少个字符
Jul 29 Javascript
jQuery实现的导航下拉菜单效果示例
Sep 05 Javascript
Javascript中常用的检测方法小结
Oct 08 Javascript
Angular 2.x学习教程之结构指令详解
May 25 Javascript
express express-session的使用小结
Dec 12 Javascript
百度小程序自定义通用toast组件
Jul 17 Javascript
解决 window.onload 被覆盖的问题方法
Jan 14 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 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中数据的批量导入(csv文件)
2006/10/09 PHP
PHP has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
php中使用url传递数组的方法
2015/02/11 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
PHP实现字符串大小写转函数的功能实例
2019/02/06 PHP
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
js实现方块上下左右移动效果
2017/08/17 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
浅析Python中的多重继承
2015/04/28 Python
详解python做UI界面的方法
2019/02/27 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
Python浮点数四舍五入问题的分析与解决方法
2019/11/19 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
laravel使用redis队列实例讲解
2021/03/23 PHP
个人找工作自荐信格式
2013/09/21 职场文书
篮球比赛口号
2014/06/10 职场文书
文艺晚会策划方案
2014/06/11 职场文书
家长高考寄语
2015/02/27 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫