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 相关文章推荐
网页中可关闭的漂浮窗口实现可自行调节
Aug 20 Javascript
jquery的map与get方法详解
Nov 04 Javascript
Extjs表单常见验证小结
Mar 07 Javascript
多个checkbox被选中时如何判断是否有自己想要的
Sep 22 Javascript
javascript html5移动端轻松实现文件上传
Mar 27 Javascript
Bootstrap3学习笔记(二)之排版
May 20 Javascript
React如何避免重渲染
Apr 10 Javascript
vue实现点击展开点击收起效果
Apr 27 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
Jun 28 Javascript
Vue瀑布流插件的使用示例
Sep 19 Javascript
js canvas实现写字动画效果
Nov 30 Javascript
vue使用axios上传文件(FormData)的方法
Apr 14 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自带验证码全面解析
2016/09/18 PHP
php常用数组函数实例小结
2016/12/29 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
JS Timing
2007/04/21 Javascript
JavaScript 学习笔记(十五)
2010/01/28 Javascript
3Z版基于jquery的图片复选框(asp.net+jquery)
2010/04/12 Javascript
定义JavaScript二维数组采用定义数组的数组来实现
2012/12/09 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
2015/03/16 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
2018/01/30 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
js实现微信聊天效果
2020/08/09 Javascript
微信小程序实现星星评分效果
2020/11/01 Javascript
机器学习10大经典算法详解
2017/12/07 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
Python Tensor FLow简单使用方法实例详解
2020/01/14 Python
Python多线程正确用法实例解析
2020/05/30 Python
如何用Python 加密文件
2020/09/10 Python
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
宿舍保安职务说明书
2014/02/25 职场文书
个人担保书范文
2014/05/20 职场文书
人事任命书范文
2014/06/04 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
美丽人生观后感
2015/06/03 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers