JS读写Cookie(设置、读取、删除)

Cookie是客户端存放数据的一种方式,可用来做状态保持。

1.设置Cookie:

a.无过期时间:(若不设置过期时间,默认为会话级Cookie,浏览器关闭就会失效)

function setCookie(name,value) {
document.cookie = name + '=' + escape(value);
}

b.固定过期时间:

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();
}

c.自定义过期时间:

//设置自定义过期时间cookie
function setCookie(name,value,time)
{
var msec = getMsec(time); //获取毫秒
var exp = new Date();
exp.setTime(exp.getTime() + msec*1);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
} //将字符串时间转换为毫秒,1秒=1000毫秒
function getMsec(DateStr)
{
var timeNum=str.substring(0,str.length-1)*1; //时间数量
var timeStr=str.substring(str.length-1,str.length); //时间单位前缀,如h表示小时 if (timeStr=="s") //20s表示20秒
{
return timeNum*1000;
}
else if (timeStr=="h") //12h表示12小时
{
return timeNum*60*60*1000;
}
else if (timeStr=="d")
{
return timeNum*24*60*60*1000; //30d表示30天
}
}

2.读取Cookie:

function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); //正则匹配
if(arr=document.cookie.match(reg)){
return unescape(arr[2]);
}
else{
return null;
}
}

3.删除Cookie:

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();
}
}

4.调用示例:

setCookie("name","hayden");
alert(getCookie("name"));
 
分类: JavaScript

最新文章

  1. 【python之路3】if 语句
  2. javascript 和 jquery 语法上的一些区别
  3. 将EmEditor加入到鼠标右键菜单
  4. ViewPager+Fragment的结合使用,实现QQ界面的理解
  5. 你真的了解mysql的varchar字段的长度有多少吗?
  6. Nginx集群之WCF分布式局域网应用
  7. 【dedecms】DEDE列表页调用文章内容第一张图片(非缩略图)方法
  8. jQuery ajax()使用serialize()提交form数据到后台
  9. flink1.7 checkpoint源码分析
  10. Fiddler Composer 模拟post请求
  11. js中的 substr方法与substring方法 不同
  12. iOS 项目国际化(多语言支持)
  13. Mysql 间隙锁原理,以及Repeatable Read隔离级别下可以防止幻读原理(百度)
  14. AngularJS orderBy 使用要点
  15. openvpn 多机房互联
  16. Ionic Js十一:模态
  17. js完成密码输入为空,和两次输入不一致
  18. 如何利用WebClient模拟登陆CSRF控制的网站
  19. win8.1安装开发工具 vs2015 Visual Studio 2015 Preview Downloads
  20. 为什么很多大公司继续使用 Objective-C,不用 Swift

热门文章

  1. Python 基金会 —— 模块和包简介
  2. 基于RDP开源许可rdesktop基本介绍
  3. CCProgressTo 和CCProgressTimer
  4. Swing开发界面时的一个bug复盘
  5. NavigationBar隐藏
  6. Binary Tree Inorder Traversal(转)
  7. Cache基础知识OR1200在ICache一个简短的引论
  8. oracle PL/SQL(procedure language/SQL)程序设计之函数+过程+包(转)
  9. python基础课程_学习笔记21:文件和材料
  10. neu1458 方格取数 dp解法