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操作cookie的全部內容了,希望能對大家學習javascript有所幫助。