天天看點

js讀取cookie資訊

1. 第一種方式讀取cookie資訊:用document.cookie.split(“; “)的方式把字元串分割成幾個段,然後周遊整個數組

//javascript方法

function getCookie(name){

  var arr = document.cookie.split("; ");

  for(var i=0,len=arr.length;i<len;i++){

    var item = arr[i].split("=");

    if(item[0]==name){

      return item[1];

    }

  }

  return "";

}

2. 第二中方法為比對字元串

在jquery中的擴充

/**

* cookie相關

*/

$.cookie = {

* 讀取cookie

*

* @param {String} n=名稱

* @return {String} cookie值

* @example

* $.cookie.get('id_test');

get:function(n){

var m = document.cookie.match(new RegExp( "(^| )"+n+"=([^;]*)(;|$)"));

return !m ? "":unescape(m[2]);

},

* 設定cookie

* @param {String} name cookie名稱 --必填

* @param {String} value cookie值 --必填

* @param {String} domain 所在域名

* @param {String} path 所在路徑

* @param {Number} hour 存活時間,機關:小時

* $.cookie.set('value1','cookieval',"id.qq.com","/test",24); //設定cookie

set:function(name,value,domain,path,hour){

var expire = new Date();

expire.setTime(expire.getTime() + (hour?3600000 * hour:30*24*60*60*1000));

document.cookie = name + "=" + value + "; " + "expires=" + expire.toGMTString()+"; path="+ (path ? path :"/")+ "; " + (domain ? ("domain=" + domain + ";") : "");

* 删除指定cookie,複寫為過期 !!注意path要嚴格比對, /id 不同于/id/

* @param {String} name cookie名稱

* @param {String} domain 所在域

* $.cookie.del('id_test'); //删除cookie

del : function(name, domain, path) {

document.cookie = name + "=; expires=Mon, 26 Jul 1997 05:00:00 GMT; path="+ (path ? path :"/")+ "; " + (domain ? ("domain=" + domain + ";") : "");

* 删除所有cookie -- 這裡暫時不包括目錄下的cookie

* $.cookie.clear(); //删除所有cookie

clear:function(){

var rs = document.cookie.match(new RegExp("([^ ;][^;]*)(?=(=[^;]*)(;|$))", "gi"));

// 删除所有cookie

for (var i in rs){

document.cookie = rs[i] + "=;expires=Mon, 26 Jul 1997 05:00:00 GMT; path=/; " ;

}

};

可用Jquery的cookie的插件處理

繼續閱讀