JS操作Cookie – Javascript教程_JS教程_技術文章 – 程式設計聯盟

 

var Cookies = {

 

  //讀取Cookie, n為Cookie名

   Get : function(n){

  var re = new RegExp(n +'=([^;]*);?','gi');

  var r =re.exec(document.cookie)||[];

  return (r.length> 1 ? r[1] : null)

   },

   //讀取數組Cookie,cookieName為Cookie名, keyName為要獲取的鍵

   GetArray :function(cookieName, keyName){

  var oRegex1 = newRegExp(cookieName + '=([^;]+)','i');

  var values1 =oRegex1.exec(document.cookie);

  if(values1&& values1.length >1){

   var values2 =values1[1]

   var oRegex2 =new RegExp(keyName + '=([^&]+)','i');

   var oMatch =oRegex2.exec(values2);

   if(oMatch&& oMatch.length >1)

    return(oMatch[1]);

   else

    return'';

  }

  else

   return'';

 },

   //寫入Cookies(不可寫數組), n為Cookie名,v為Cookie值, h為時間(單位為小時), p為Cookie路徑Path, d為Domain, s為secure

  Set:function(n,v,h,p,d,s){

  var t = new Date();

  if(h){

   // 8.64e7 一天3.6e6 一小時

   t.setTime(t.getTime()+ (h*3.6e6));

  }

  document.cookie = n + '=' +escape(v) + '; ' + (!h ? '' : '; expires=' + t.toGMTString()) + (!p? '' : '; path=' + p) + (!d ? '' : '; domain=' + d) + (!s ? '' : ';secure') // Set cookie

   },

   //刪除Cookie, n為Cookie名,p為Cookie路徑Path, d為Domain

   Del:function(n,p,d){

  var t = newDate();//獲取當前時間

  t.setTime(t.getTime() -10000);//將date設置為過去的時間

  document.cookie = n + '=' + (!p? '' : '; path=' + p) + (!d ? '' : '; domain=' + d) + '; expires='+ t.toGMTString();

   }

};

 

摘自 wjbaiverson的專欄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *