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 一些用法小结
Sep 11 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
Feb 03 Javascript
jquery 插件学习(六)
Aug 06 Javascript
js用闭包遍历树状数组的方法
Mar 19 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
Sep 01 Javascript
angular.js分页代码的实例
Jul 27 Javascript
利用C/C++编写node.js原生模块的方法教程
Jul 07 Javascript
bootstrap table支持高度百分比的实例代码
Feb 28 Javascript
微信小程序自定义tabBar在uni-app的适配详解
Sep 30 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
Feb 11 Javascript
vue实现简单学生信息管理
May 30 Javascript
Vue 组件的挂载与父子组件的传值实例
Sep 02 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
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
jquery easyui的tabs使用时的问题
2010/03/23 Javascript
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
给Python入门者的一些编程建议
2015/06/15 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
什么是组件架构
2016/05/15 面试题
销售员个人求职的自我评价
2014/02/10 职场文书
股权转让协议书范本
2014/04/12 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
python元组打包和解包过程详解
2021/08/02 Python