javascript 操作cookie類

來源:互聯網
上載者:User
 1 String.prototype.Trim = function()
 2 {
 3     return this.replace(/^\s+/g,"").replace(/\s+$/g,"");
 4 }
 5 
 6 function JSCookie()
 7 {
 8     this.GetCookie = function(key)
 9     {
10         var cookie = document.cookie;
11         var cookieArray = cookie.split(';');
12         var getvalue = "";
13         for(var i = 0;i<cookieArray.length;i++)
14         {
15             
16             if(cookieArray[i].Trim().substr(0,key.length) == key)
17             {
18                 getvalue = cookieArray[i].Trim().substr(key.length + 1);
19                 break;
20             }
21         }
22 
23         return getvalue;
24     };
25     this.GetChild = function(cookiekey,childkey)
26     {
27         var child = this.GetCookie(cookiekey);
28         var childs = child.split('&');
29         var getvalue = "";
30         
31         for(var i = 0;i < childs.length;i++)
32         {
33             if(childs[i].Trim().substr(0,childkey.length) == childkey)
34             {
35                 getvalue = childs[i].Trim().substr(childkey.length + 1);
36                 break;
37             }
38         }
39         return getvalue;
40     };
41     this.SetCookie = function(key,value,expire,domain,path)
42     {
43         var cookie = "";
44         if(key != null && value != null)
45             cookie += key + "=" + value + ";";
46         if(expire != null)
47             cookie += "expires=" + expire.toGMTString() + ";";
48         if(domain != null)
49             cookie += "domain=" + domain + ";";
50         if(path != null)
51             cookie += "path=" + path + ";";
52         document.cookie = cookie;
53     };
54     this.Expire = function(key)
55     {
56         expire_time = new Date();
57         expire_time.setFullYear(expire_time.getFullYear() - 1);
58         var cookie = " " + key + "=e;expires=" + expire_time + ";"
59         document.cookie = cookie;
60     }
61 }

用法:
一、設定cookie
var cookie = new JSCookie();
//普通設定
cookie .SetCookie("key1","val1");

//到期時間為一年
var expire_time = new Date();
expire_time.setFullYear(expire_time.getFullYear() + 1);
cookie .SetCookie("key2","val2",expire_time);

//設定域及路徑,帶到期時間
cookie .SetCookie("key3","val3",expire_time,".cnblogs.com","/");

//設定帶子鍵的cookie,子鍵分別是k1,k2,k3
cookie .SetCookie("key4","k1=1&k2=2&k3=3");

二、讀取cookie
//簡單擷取
cookie .GetCookie("key1");
cookie .GetCookie("key2");
cookie .GetCookie("key3");
cookie .GetCookie("key4");
//擷取key4的子鍵k1值
cookie .GetChild("key4","k1");

三、刪除
cookie .Expire("key1");
cookie .Expire("key2");
cookie .Expire("key3");
cookie .Expire("key4");

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.