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中巧用“闭包”实现程序的暂停执行功能
Apr 04 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
Mar 14 Javascript
Jquery 切换不同图片示例代码
Dec 05 Javascript
吐槽一下我所了解的Node.js
Oct 08 Javascript
node.js中的emitter.on方法使用说明
Dec 10 Javascript
jQuery toggle 代替方法
Mar 22 Javascript
jQuery之动画效果大全
Nov 09 Javascript
javascript实现消灭星星小游戏简单版
Nov 15 Javascript
JS实现鼠标移上去显示图片或微信二维码
Dec 14 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
May 30 Javascript
详解Vue.js分发之作用域槽
Jun 13 Javascript
JavaScript插件Tab选项卡效果
Nov 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
PHP number_format() 函数定义和用法
2012/06/01 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
Javascript实现鼠标框选操作  不是点击选取
2016/04/14 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
python中函数默认值使用注意点详解
2016/06/01 Python
python 产生token及token验证的方法
2018/12/26 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
中学生评语大全
2014/04/18 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
网上祭先烈心得体会
2014/09/01 职场文书
五心教育心得体会
2014/09/04 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
就业导师推荐信范文
2015/03/27 职场文书
mysql部分操作
2021/04/05 MySQL