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 相关文章推荐
如何实现修改密码时密码框显示保存到cookie的密码
Dec 10 Javascript
Javascript连接多个数组不用concat来解决
Mar 24 Javascript
jquery合并表格中相同文本的相邻单元格
Jul 17 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
Aug 28 Javascript
jQuery实现的表格展开伸缩效果实例
Sep 07 Javascript
清除浏览器缓存的几种方法总结(必看)
Dec 09 Javascript
如何使用vuejs实现更好的Form validation?
Apr 07 Javascript
Express使用html模板的详细代码
Sep 18 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
Jan 11 Javascript
js实现按钮开关单机下拉菜单效果
Nov 22 Javascript
Vue 实现输入框新增搜索历史记录功能
Oct 15 Javascript
微信小程序封装多张图片上传api代码实例
Dec 30 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
php数组的概述及分类与声明代码演示
2013/02/26 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
查看大图功能代码jquery版
2013/11/05 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
Python的subprocess模块总结
2014/11/07 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
2015/04/15 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
numpy排序与集合运算用法示例
2017/12/15 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
几个判断型的面试题
2012/07/03 面试题
小学教师节活动方案
2014/01/31 职场文书
会计助理岗位职责
2014/02/17 职场文书
《威尼斯的小艇》教学反思
2014/02/17 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android