javascript操作Cookie(设置、读取、删除)方法详解
Cookie是客户端存放数据的一种方式,可用来做状态保持。
1.设置Cookie:
a.无过期时间:(若不设置过期时间,默认为会话级Cookie,浏览器关闭就会失效)
functionsetCookie(name,value){
document.cookie=name+'='+escape(value);
}
b.固定过期时间:
functionsetCookie(name,value)
{
varDays=30;
varexp=newDate();
exp.setTime(exp.getTime()+Days*24*60*60*1000);
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
}
c.自定义过期时间:
//设置自定义过期时间cookie
functionsetCookie(name,value,time)
{
varmsec=getMsec(time);//获取毫秒
varexp=newDate();
exp.setTime(exp.getTime()+msec*1);
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
}
//将字符串时间转换为毫秒,1秒=1000毫秒
functiongetMsec(DateStr)
{
vartimeNum=str.substring(0,str.length-1)*1;//时间数量
vartimeStr=str.substring(str.length-1,str.length);//时间单位前缀,如h表示小时
if(timeStr=="s")//20s表示20秒
{
returntimeNum*1000;
}
elseif(timeStr=="h")//12h表示12小时
{
returntimeNum*60*60*1000;
}
elseif(timeStr=="d")
{
returntimeNum*24*60*60*1000;//30d表示30天
}
}
2.读取Cookie:
functiongetCookie(name)
{
vararr,reg=newRegExp("(^|)"+name+"=([^;]*)(;|$)");//正则匹配
if(arr=document.cookie.match(reg)){
returnunescape(arr[2]);
}
else{
returnnull;
}
}
3.删除Cookie:
functiondelCookie(name)
{
varexp=newDate();
exp.setTime(exp.getTime()-1);
varcval=getCookie(name);
if(cval!=null){
document.cookie=name+"="+cval+";expires="+exp.toGMTString();
}
}
4.调用示例:
setCookie("name","hayden");
alert(getCookie("name"));
以上就是本文关于javascript操作cookie的全部内容了,希望能够对大家学习javascript有所帮助。