cookie的使用

js中使用cookie的地方有很多,保存用戶名及密碼,保存登陸信息等,使下次用戶上線就有很好的體驗~。下面來說說js中cookie的使用方法和封裝方法

1、(設置)設置cookie,設置cookie一般需要設置值和時間,如果不設置時間則會隨著瀏覽器關(guān)閉而關(guān)閉!

設置值的形式為“屬性=值”的形式,設置的時候還算舒服,可是獲取就不是那么人性化了~

var time = new Date( new Date().getTime() + 365*24*60*60*1000 ); //設置時間為365天(有的網(wǎng)頁就是這么暴力,直接整一年!)
document.cookie = "dd=goudan;expires="+time.toGMTString();"http://

此時我們可看到我們已經(jīng)設置了一個名為dd ,值為goudan的cookie,如果要查看可以打開chrome瀏覽器點擊此處查看

[圖片上傳失敗...(image-ca4575-1515155390053)]

2、(獲取)此時我們獲取cookie的時候這樣: (這里有個點很關(guān)鍵!!!,如果本地獲取不到,試著開一個服務,使用webstrom等自帶服務器的軟件打開即可)
var c = document.cookie;
alert( c );

此時我們看到的是dd=goudan,想要要獲取值我們還得對著一串字符串進行操作

  var arr = document.cookie.match(new RegExp("(\\s|^)"+key+"=([^;]*)(;|$)"));

這里使用正則來匹配名,arr中即為設置dd的值 goudan。

3、(刪除)刪除cookie我們只需要設置一個負的時間,,并將值賦值為空,即為過去時間,就可以刪除cookie

var time = new Date( new Date().getTime() + -1*24*60*60*1000 );//這里設置時間為-1
document.cookie = "ddi=; expires="+time.toGMTString();

到這里,所有對cookie的操作就完了,但有時候我們并不想這么麻煩,下面就給出封裝的方法來更人性化的操作

/*
這里我們設置的時候直接傳入json格式的數(shù)據(jù)即可完成多個cookie的保存,時間單位按照天來計算。
獲取的時候我們只需要傳入需要獲取的名,(即前面的dd即可返回goudan)
刪除時傳入需要刪除的名(數(shù)組形式,如["dd"])即可完成刪除,此處需要刪除多個,可傳入數(shù)組的形式如["dd","name","age"],即可刪除dd對應的值
*/
//設置cookie
 function setCookie(vJson , time){
     var data = new Date( new Date().getTime() + time*24*60*60*1000 ).toGMTString();
     for (var key in vJson)document.cookie = key+"="+vJson[key]+"; expires="+data;
}

//獲取cookie
function getCookie(key){
    var arr = document.cookie.match(new RegExp("(\\s|^)"+key+"=([^;]*)(;|$)"));
    return arr?arr[2]:"";
}

//移除cookie
function removeCookie(akey){
    var arr = akey;
    var json = {};
    var length = arr.length;
    for(var i = 0; i<arr.length;i++)json[akey[i]] = "";
    setCookie(json , -1);
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • 我們主要關(guān)注的是cookie的特性,以及如何使用。所以,先不講枯燥的理論知識,相信這些理論大家從網(wǎng)上隨隨便便就能找...
    絢爛的煙火閱讀 3,135評論 0 3
  • 一、cookie的作用 在我們平常寫的B/S程序中,會經(jīng)常用到cookie,主要有以下一些作用: 1、記錄用戶名和...
    Bookcyj閱讀 2,894評論 0 1
  • 分享下最近項目用到的cookie的使用及管理 首先,先介紹下iOS對cookie的操作的兩個類: 帖子來源于:ht...
    花前月下閱讀 40,683評論 65 63
  • JavaScript是運行在客戶端的腳本,一般是不能夠直接設置Session的,因為Session是運行在服務器端...
    hh_王小米閱讀 1,529評論 2 0
  • 1.使用場景 保存用戶登錄狀態(tài)。例如將用戶id存儲于一個cookie內(nèi),這樣當用戶下次訪問該頁面時就不需要重新登錄...
    jiaomeichen閱讀 469評論 1 4