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 css样式操作代码(批量操作)
Oct 09 Javascript
JavaScript 加号(+)运算符号
Dec 06 Javascript
Node.js开源应用框架HapiJS介绍
Jan 14 Javascript
jQuery带时间的日期控件代码分享
Aug 26 Javascript
JavaScript基础篇(6)之函数表达式闭包
Dec 11 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
Jan 15 Javascript
AngularJS入门之动画
Jul 27 Javascript
JS交互点击WKWebView中的图片实现预览效果
Jan 05 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
Jun 07 Javascript
关于vue状态过渡transition不起作用的原因解决
Apr 09 Javascript
使用localStorage替代cookie做本地存储
Sep 25 Javascript
Vue 2.0双向绑定原理的实现方法
Oct 23 Javascript
基于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
ThinkPHP的I方法使用详解
2014/06/18 PHP
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
webstorm添加vue.js支持的方法教程
2017/07/05 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
使用Python下载Bing图片(代码)
2013/11/07 Python
python中元类用法实例
2014/10/10 Python
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
Python内建数据结构详解
2016/02/03 Python
利用python爬取散文网的文章实例教程
2017/06/18 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
python爬虫实现获取下一页代码
2020/03/13 Python
python实现3D地图可视化
2020/03/25 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
社区活动邀请函范文
2014/01/29 职场文书
环境建设实施方案
2014/03/14 职场文书
六五普法规划实施方案
2014/03/21 职场文书
抗震救灾标语
2014/06/26 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
招商银行工作证明
2015/06/17 职场文书
农村老人去世追悼词
2015/06/23 职场文书