JS读写Cookie(设置、读取、删除)
2024-10-19 00:19:40
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
最新文章
- 【python之路3】if 语句
- javascript 和 jquery 语法上的一些区别
- 将EmEditor加入到鼠标右键菜单
- ViewPager+Fragment的结合使用,实现QQ界面的理解
- 你真的了解mysql的varchar字段的长度有多少吗?
- Nginx集群之WCF分布式局域网应用
- 【dedecms】DEDE列表页调用文章内容第一张图片(非缩略图)方法
- jQuery ajax()使用serialize()提交form数据到后台
- flink1.7 checkpoint源码分析
- Fiddler Composer 模拟post请求
- js中的 substr方法与substring方法 不同
- iOS 项目国际化(多语言支持)
- Mysql 间隙锁原理,以及Repeatable Read隔离级别下可以防止幻读原理(百度)
- AngularJS orderBy 使用要点
- openvpn 多机房互联
- Ionic Js十一:模态
- js完成密码输入为空,和两次输入不一致
- 如何利用WebClient模拟登陆CSRF控制的网站
- win8.1安装开发工具 vs2015 Visual Studio 2015 Preview Downloads
- 为什么很多大公司继续使用 Objective-C,不用 Swift
热门文章
- Python 基金会 —— 模块和包简介
- 基于RDP开源许可rdesktop基本介绍
- CCProgressTo 和CCProgressTimer
- Swing开发界面时的一个bug复盘
- NavigationBar隐藏
- Binary Tree Inorder Traversal(转)
- Cache基础知识OR1200在ICache一个简短的引论
- oracle PL/SQL(procedure language/SQL)程序设计之函数+过程+包(转)
- python基础课程_学习笔记21:文件和材料
- neu1458 方格取数 dp解法