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 相关文章推荐
javascript 一个函数对同一元素的多个事件响应
Jul 25 Javascript
动态表格Table类的实现
Aug 26 Javascript
jQuery获取和设置表单元素的方法
Feb 14 Javascript
跟我学习javascript的arguments对象
Nov 16 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
Jan 05 Javascript
JQuery fileupload插件实现文件上传功能
Mar 18 Javascript
深入浅析Extjs中store分组功能的使用方法
Apr 20 Javascript
将JSON字符串转换成Map对象的方法
Nov 30 Javascript
js中toString()和String()区别详解
Mar 23 Javascript
BootStrap表单验证 FormValidation 调整反馈图标位置的实例代码
May 17 Javascript
vue点击按钮动态创建与删除组件功能
Dec 29 Javascript
JS中多层次排序算法的实现代码
Jan 06 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
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
js分页代码分享
2014/04/28 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
原生JS轮播图插件
2017/02/09 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
vue 扩展现有组件的操作
2020/08/14 Javascript
Python中返回字典键的值的values()方法使用
2015/05/22 Python
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
Django中的用户身份验证示例详解
2019/08/07 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
广告学专业推荐信范文
2013/11/23 职场文书
外贸业务员求职信
2014/06/16 职场文书
先进党组织事迹材料
2014/12/26 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
升学宴家长致辞
2015/07/27 职场文书
docker compose 部署 golang 的 Athens 私有代理问题
2022/04/28 Servers