JavaScript對Cookie的增刪改查

前言

JavaScript是運行在客戶端的腳本,Session是運行在服務器端的,而Cookie是運行在客戶端的,所以可以用JS來設置Cookie,而不能操作Session。

JavaScript對Cookie的增刪改查

JavaScript對Cookie的增刪改查

先了解一下Cookie的結構,簡單地說:cookie是以鍵值對的形式存儲的,即key=value的格式,各個cookie之間一般是以“;”分隔。

清除瀏覽器緩存Cookie是會被清除的。

原始方式

簡單粗暴的操作

存儲Cookie

let username = 'Javan';
document.cookie = "name=" + username;

讀取Cookie

var cookieAll = document.cookie;
console.log(cookieAll);
// 輸出後加工處理得到name值

方法封裝

存儲Cookie

`expires`是截止日期,到什麼時間點,自動過期

function setCookie(name, value, days) {
var exp = new Date();
exp.setTime(exp.getTime() + days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
JavaScript對Cookie的增刪改查

存儲Cookie

讀取Cookie

function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)) {
return unescape(arr[2]);
} else {
return null;
}
}
JavaScript對Cookie的增刪改查

讀取Cookie

測試

// 設置key為user, 值為Javanx
setCookie('user', 'Javanx', 1);
console.log(getCookie('user'));
// print Javanx

刪除Cookie

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();
}
}
JavaScript對Cookie的增刪改查

刪除Cookie

公告


分享到:


相關文章: