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加ASP二级域名转向的代码
May 17 Javascript
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
Jan 12 Javascript
Bootstrap安装环境配置教程分享
May 27 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
Jul 22 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
Aug 01 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
Aug 28 Javascript
详解使用 Node.js 开发简单的脚手架工具
Jun 08 Javascript
使用JavaScript中的lodash编写双色球效果
Jun 24 Javascript
NestJs 静态目录配置详解
Mar 12 Javascript
ES6的异步终极解决方案分享
Jul 11 Javascript
纯JS开发baguetteBox.js响应式画廊插件
Jun 28 Javascript
解决antd Form 表单校验方法无响应的问题
Oct 27 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 中使用随机数的三个步骤
2006/10/09 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
2016/07/08 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
python使用新浪微博api上传图片到微博示例
2014/01/10 Python
Django中使用group_by的方法
2015/05/26 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
Python装饰器用法实例分析
2019/01/14 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
Pytorch 实现权重初始化
2019/12/31 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
英国派对礼服和连衣裙购物网站:TFNC London
2018/07/07 全球购物
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
培训主管岗位职责
2014/02/01 职场文书
自行车广告词大全
2014/03/21 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis