您的位置:首页 > Web前端 > JavaScript

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

2015-03-17 18:02 417 查看
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"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: