javascript建立、讀取或者刪除cookie簡單介紹

admin發表於2017-04-04

本章節介紹一下如何使用javascript來操作cookie。

因為cookie在實際應用中有著重要的作用,並且簡單可行,雖然安全性有點問題。

但是基本的場面還是能夠撐住的,下面做一下簡單介紹:

一.設定Cookie:

[JavaScript] 純文字檢視 複製程式碼
function setCookie(name,value) {
  document.cookie = name + '=' + escape(value);
}

若不設定過期時間,預設為會話級Cookie,瀏覽器關閉就會失效。

[JavaScript] 純文字檢視 複製程式碼
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();
}

上面的程式碼可以設定一個固定的過期時間。

[JavaScript] 純文字檢視 複製程式碼
//設定自定義過期時間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表示小時
  //20s表示20秒
  if (timeStr=="s") {
    return timeNum*1000;
  }
  //12h表示12小時
  else if (timeStr=="h"){
    return timeNum*60*60*1000;
  }
  else if (timeStr=="d"){
    return timeNum*24*60*60*1000; //30d表示30天
  }
}

上面的程式碼可以靈活的設定過期時間。

二.讀取Cookie:

[JavaScript] 純文字檢視 複製程式碼
function getCookie(name){
  var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); //正則匹配
  if(arr=document.cookie.match(reg)){
    return unescape(arr[2]);
  }
  else{
    return null;
  }
}

三.刪除Cookie:

[JavaScript] 純文字檢視 複製程式碼
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();
  }
}

相關文章