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 Undefined,Null类型和NaN值区别
Oct 22 Javascript
JS日期和时间选择控件升级版(自写)
Aug 02 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
Sep 26 Javascript
详解jQuery中的DOM操作
Dec 23 Javascript
ES6入门教程之Iterator与for...of循环详解
May 17 Javascript
echarts饼图扇区添加点击事件的实例
Oct 16 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
Oct 26 Javascript
JS装饰器函数用法总结
Apr 21 Javascript
详解vue-cli项目中怎么使用mock数据
May 29 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
Dec 05 Javascript
Vue跨域请求问题解决方案过程解析
Aug 07 Javascript
openLayer4实现动态改变标注图标
Aug 17 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
一个MYSQL操作类
2006/11/16 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
在IIS下安装PHP扩展的方法(超简单)
2017/04/10 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
JavaScript 继承详解(二)
2009/07/13 Javascript
探讨js中的双感叹号判断
2013/11/11 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
2013/12/30 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
详解jQuery选择器
2016/12/21 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
JavaScript实现下拉列表
2021/01/20 Javascript
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
h5封装下拉刷新
2020/08/25 HTML / CSS
瀑布模型都有哪些优缺点
2014/06/23 面试题
家属答谢词
2015/01/05 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书
导游词之桂林
2019/08/20 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
python中sys模块的介绍与实例
2021/04/17 Python