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操作时间(年-月-日 时-分-秒 星期几)
Jun 20 Javascript
能说明你的Javascript技术很烂的五个原因分析
Oct 28 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
Aug 14 Javascript
js实现图片漂浮效果的方法
Mar 02 Javascript
jquery+html5制作超酷的圆盘时钟表
Apr 14 Javascript
javascript获取网页宽高方法汇总
Jul 19 Javascript
AngularJS基础 ng-value 指令简单示例
Aug 03 Javascript
Vue通过input筛选数据
Oct 26 Javascript
JavaScript贪吃蛇小组件实例代码
Aug 20 Javascript
简述JS浏览器的三种弹窗
Jul 15 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
Aug 29 Javascript
js实现限定范围拖拽的示例
Oct 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
如何在PHP程序中防止盗链
2008/04/09 PHP
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
使用php判断网页是否gzip压缩
2013/06/25 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
详解使用angular的HttpClient搭配rxjs
2017/09/01 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
全网最详细的PyCharm+Anaconda的安装过程图解
2021/01/25 Python
面向对象编程是如何提高软件开发水平的
2014/05/06 面试题
国贸专业大学生职业生涯规划范文
2014/01/10 职场文书
《掌声》教学反思
2014/02/23 职场文书
《美丽的黄昏》教学反思
2014/02/28 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
环保建议书600字
2014/05/14 职场文书
创新社会管理心得体会
2014/09/12 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
党支部考察意见范文
2015/06/02 职场文书
家庭贫困证明
2015/06/16 职场文书
联村联户简报
2015/07/21 职场文书