编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

JavaScript对Cookie的增删改查(js修改cookie的值)

wxchong 2024-08-03 02:21:12 开源技术 11 ℃ 0 评论

前言

JavaScript是运行在客户端的脚本,Session是运行在服务器端的,而Cookie是运行在客户端的,所以可以用JS来设置Cookie,而不能操作Session。

先了解一下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();
}

读取Cookie

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

测试

// 设置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();
 }
}

公告

喜欢小编的点击关注,了解更多资源!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表