首頁  >  文章  >  web前端  >  javascript操作Cookie(設定、讀取、刪除)方法詳解_javascript技巧

javascript操作Cookie(設定、讀取、刪除)方法詳解_javascript技巧

WBOY
WBOY原創
2016-05-16 16:09:01813瀏覽

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有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn