這篇文章主要詳細(xì)向大家介紹了javascript操作Cookie的方法,包括設(shè)置、讀取、刪除操作,十分的細(xì)致全面,附上示例,是篇非常不錯(cuò)的文章,這里推薦給大家。
Cookie是客戶端存放數(shù)據(jù)的一種方式,可用來(lái)做狀態(tài)保持。
1.設(shè)置Cookie:
a.無(wú)過(guò)期時(shí)間:(若不設(shè)置過(guò)期時(shí)間,默認(rèn)為會(huì)話級(jí)Cookie,瀏覽器關(guān)閉就會(huì)失效)
代碼如下:
function setCookie(name,value) {
document.cookie = name + '=' + escape(value);
}
b.固定過(guò)期時(shí)間:
代碼如下:
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.自定義過(guò)期時(shí)間:
代碼如下:
//設(shè)置自定義過(guò)期時(shí)間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();
}
//將字符串時(shí)間轉(zhuǎn)換為毫秒,1秒=1000毫秒
function getMsec(DateStr)
{
var timeNum=str.substring(0,str.length-1)*1; //時(shí)間數(shù)量
var timeStr=str.substring(str.length-1,str.length); //時(shí)間單位前綴,如h表示小時(shí)
if (timeStr=="s") //20s表示20秒
{
return timeNum*1000;
}
else if (timeStr=="h") //12h表示12小時(shí)
{
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.調(diào)用示例:
代碼如下:
setCookie("name","hayden");
alert(getCookie("name"));
以上就是本文關(guān)于javascript操作cookie的全部?jī)?nèi)容了,希望能夠?qū)Υ蠹覍W(xué)習(xí)javascript有所幫助。
更多信息請(qǐng)查看IT技術(shù)專欄