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 相关文章推荐
$.ajax json数据传递方法
Nov 19 Javascript
JS中confirm,alert,prompt函数区别分析
Jan 17 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
May 22 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
Jun 24 Javascript
jQuery中prevAll()方法用法实例
Jan 08 Javascript
JavaScript常用脚本汇总(三)
Mar 04 Javascript
完美实现八种js焦点轮播图(上篇)
Jul 18 Javascript
angular基于ng-alain定义自己的select组件示例
Feb 23 Javascript
js正则相关知识点专题
May 10 Javascript
小程序两种滚动公告栏的实现方法
Sep 17 Javascript
微信小程序实现音频文件播放进度的实例代码
Mar 02 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
Jun 12 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
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
[原创]php简单防盗链验证实现方法
2016/07/09 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
redis查看连接数及php模拟并发创建redis连接的方法
2016/12/15 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
js验证是否为数字的总结
2013/04/14 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
使用Raygun对Node.js应用进行错误处理的方法
2015/06/23 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
[01:23:45]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第一场 1月22日
2021/03/11 DOTA
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
Python中zip函数如何使用
2020/06/04 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
详解如何修改python中字典的键和值
2020/09/29 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
《北大荒的秋天》教学反思
2014/04/14 职场文书
公司节能减排倡议书
2014/05/14 职场文书
停车位租赁协议书
2014/09/24 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
python基础之文件处理知识总结
2021/05/23 Python
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技