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 相关文章推荐
一个简单的Ext.XTemplate的实例代码
Mar 18 Javascript
javascript针对DOM的应用分析(二)
Apr 15 Javascript
thinkphp中常用的系统常量和系统变量
Mar 05 Javascript
JS计算网页停留时间代码
Apr 28 Javascript
JQuery实现左右滚动菜单特效
Sep 28 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
Mar 28 Javascript
JavaScript 深层克隆对象详解及实例
Nov 03 Javascript
使用vue构建移动应用实战代码
Aug 02 Javascript
vuejs使用FormData实现ajax上传图片文件
Aug 08 Javascript
微信小程序项目实践之验证码倒计时功能
Jul 18 Javascript
gulp构建小程序的方法步骤
May 31 Javascript
使用refresh_token实现无感刷新页面
Apr 26 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
抓取YAHOO股票报价的类
2009/05/15 PHP
php注销代码(session注销)
2012/05/31 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
javascript 对象定义方法 简单易学
2009/03/22 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
JavaScript中的函数声明和函数表达式区别浅析
2015/03/27 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
详解jQuery简单的表格应用
2016/12/16 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
Js面试算法详解
2018/04/08 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
python实现简单图书管理系统
2019/11/22 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
全球高级音频和视频专家:HiDef Lifestyle
2019/08/02 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
给同学的道歉信
2014/01/16 职场文书
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
创先争优演讲稿
2014/09/15 职场文书
授权委托书样本
2014/09/25 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
学生上课说话检讨书
2014/10/25 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书