js读写(删除)Cookie实例详解


Posted in Javascript onApril 17, 2013
//JS操作cookies方法! 
//写cookies 
function setCookie(name,value) 
{ 
var Days = 30; 
var exp = new Date(); 
exp.setTime(exp.getTime() + Days*24*60*60*1000); 
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 
} 
//读取cookies 
function getCookie(name) 
{ 
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); 
if(arr=document.cookie.match(reg)) return unescape(arr[2]); 
else return null; 
} 
//删除cookies 
function delCookie(name) 
{ 
var exp = new Date(); 
exp.setTime(exp.getTime() - 1); 
var cval=getCookie(name); 
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); 
} 
//使用示例 
setCookie("name","hayden"); 
alert(getCookie("name")); 
//如果需要设定自定义过期时间 
//那么把上面的setCookie 函数换成下面两个函数就ok; 
//程序代码 
function setCookie2(name,value,time){ 
var strsec = getsec(time); 
var exp = new Date(); 
exp.setTime(exp.getTime() + strsec*1); 
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 
} 
function getsec(str){ 
alert(str); 
var str1=str.substring(1,str.length)*1; 
var str2=str.substring(0,1); 
if (str2=="s"){ 
return str1*1000; 
}else if (str2=="h"){ 
return str1*60*60*1000; 
}else if (str2=="d"){ 
return str1*24*60*60*1000; 
} 
} 
//这是有设定过期时间的使用示例: 
//s20是代表20秒 
//h是指小时,如12小时则是:h12 
//d是天数,30天则:d30 
//暂时只写了这三种 
setCookie2("name2","hayden2","s20"); 
alert(getCookie("name2"));

以下是几个比较常见的好用的函数:
function GetCookieVal(offset) 
//获得Cookie解码后的值 
{ 
var endstr = document.cookie.indexOf (";", offset); 
if (endstr == -1) 
endstr = document.cookie.length; 
return unescape(document.cookie.substring(offset, endstr)); 
} 
function SetCookie(name, value) 
//设定Cookie值 
{ 
var expdate = new Date(); 
var argv = SetCookie.arguments; 
var argc = SetCookie.arguments.length; 
var expires = (argc > 2) ? argv[2] : null; 
var path = (argc > 3) ? argv[3] : null; 
var domain = (argc > 4) ? argv[4] : null; 
var secure = (argc > 5) ? argv[5] : false; 
if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 )); 
document.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString())) 
+((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain)) 
+((secure == true) ? "; secure" : ""); 
} 
function DelCookie(name) 
//删除Cookie 
{ 
var exp = new Date(); 
exp.setTime (exp.getTime() - 1); 
var cval = GetCookie (name); 
document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString(); 
} 
function GetCookie(name) 
//获得Cookie的原始值 
{ 
var arg = name + "="; 
var alen = arg.length; 
var clen = document.cookie.length; 
var i = 0; 
while (i < clen) 
{ 
var j = i + alen; 
if (document.cookie.substring(i, j) == arg) 
return GetCookieVal (j); 
i = document.cookie.indexOf(" ", i) + 1; 
if (i == 0) break; 
} 
return null; 
} 
//测试 
SetCookie("sunshine","1986"); 
alert(GetCookie("sunshine"));
Javascript 相关文章推荐
js将控件隐藏及display属性的使用介绍
Dec 30 Javascript
JavaScript中Math.SQRT2属性的使用详解
Jun 14 Javascript
jQuery简单获取键盘事件的方法
Jan 22 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
Jul 20 Javascript
jQuery+ajax读取并解析XML文件的方法
Sep 09 Javascript
js实现非常棒的弹出div
Oct 06 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
Feb 16 Javascript
AngularJS中filter的使用实例详解
Aug 25 Javascript
ES6 Set结构的应用实例分析
Jun 26 Javascript
JavaScript实现五子棋游戏的方法详解
Jul 08 Javascript
Jquery $.map使用方法实例详解
Sep 01 jQuery
基于dom编程中 动态创建与删除元素的使用
Apr 17 #Javascript
javaScript(JS)替换节点实现思路介绍
Apr 17 #Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
Apr 17 #Javascript
JS对img进行操作(换图片/切图/轮换/停止)
Apr 17 #Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
Apr 17 #Javascript
js跑马灯代码(自写)
Apr 17 #Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
Apr 17 #Javascript
You might like
两个强悍的php 图像处理类1
2009/06/15 PHP
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
php网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
js初始化验证实例详解
2016/11/26 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
javascript中call()、apply()的区别
2019/03/21 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
django实现后台显示媒体文件
2020/04/07 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
Mankind西班牙男士护肤品网站:购买皮肤护理、护发和剃须
2017/04/27 全球购物
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
国际象棋商店:The Chess Store
2018/07/09 全球购物
土木工程专业个人求职信
2013/12/30 职场文书
大学生通用个人的自我评价
2014/02/10 职场文书
语文教研活动总结
2014/07/02 职场文书
普通党员四风问题对照检查材料
2014/09/27 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
致青春观后感
2015/06/09 职场文书
Python re.sub 反向引用的实现
2021/07/07 Python