JS讀寫Cookie(設置、讀取、刪除)


JS讀寫Cookie(設置、讀取、刪除)

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM