javascript獲取和刪除指定cookie程式碼例項

admin發表於2017-03-28

cookie是比較常用的,既然設定了cookie就有可能獲取,或者在不使用的時候刪除cookie。

下面就通過程式碼例項介紹一下如何實現此功能。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function GetCookieValue(name){
  var cookieValue=null;
  if(document.cookie&&document.cookie!=''){
    var cookies=document.cookie.split(';');
    for(var index=0;index<cookies.length;index++){
      var cookie=jQuery.trim(cookies[index]);
      if(cookie.substring(0,name.length+1)==(name+'=')){
        cookieValue=decodeURIComponent(cookie.substring(name.length+1));
        break;
      }
    }
  }
  return cookieValue;
}
function DelCookie(name){
  var exp=new Date();
  exp.setTime(exp.getTime()+(-1 * 24 * 60 * 60 * 1000));
  var cval=GetCookieValue(name);
  document.cookie=name+"=" + cval + "; expires=" + exp.toGMTString();
}

上面的程式碼能夠實現獲取和刪除指定cookie的效果,下面就介紹一下上面的實現過程。

下面的是cookie格式的截圖:

a:3:{s:3:\"pic\";s:43:\"portal/201703/28/181221d225y55t93g85376.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

可以看出cookie之間使用分號(;)分隔的,cookie名和cookie值之間是用等號分隔的。

一.程式碼註釋:

1.function GetCookieValue(name){},此函式實現獲取cookie值功能,引數是cookie的名字。

2.var cookieValue=null,宣告一個變數並賦值為null。

3.if(document.cookie&&document.cookie!=''),判斷cookie是否存在。

4.var cookies=document.cookie.split(';'),使用分號(;)分隔返回的cookie字串生成一個陣列,每一個陣列值就是一個cookie名值對。

5.for(var index=0;index<cookies.length;index++),遍歷陣列中的每一個元素。6.var cookie=jQuery.trim(cookies[index]),獲取當前陣列元素的值,並且刪除前後兩段的空格。

7.if(cookie.substring(0,name.length+1)==(name+'=')),使用substring()函式擷取的是cookie名和等號部分,並進行比對。

8.cookieValue=decodeURIComponent(cookie.substring(name.length+1)),獲取cookie值,並進行解碼。

9.break,跳出for迴圈。

10.function DelCookie(name),刪除指定cookie。

11.var exp=new Date(),生成一個日期物件。

12.exp.setTime(exp.getTime()+(-1 * 24 * 60 * 60 * 1000)),設定過期時間,因為是當前時間之前的事件,自然過期。

13.var cval=GetCookieValue(name),獲取cookie值。

14.document.cookie=name+"=" + cval + "; expires=" + exp.toGMTString(),設定過期時間,這裡其實就是刪除。

二.相關閱讀:

1.split()函式可以參閱javascript split()一章節。

2.jQuery.trim()函式可以參閱jQuery.trim()一章節。

3.substring()函式可以參閱substring()一章節。

4.時間物件可以參閱JavaScript Date物件一章節。

相關文章