JavaScript 设置与获取 Cookie 的两种实现方式
作者:代码拾荒时间:2026-10-27 21:50:38浏览:345
本文整理了 JavaScript 中设置和获取 Cookie 的两种常用方法。通过封装 setCookie 和 getCookie 函数,分别演示了基于 Date 对象设置有效期以及直接操作 document.cookie 的方式。同时提供了使用正则表达式匹配和字符串分割两种读取策略,并强调了编码解码在防止注入中的重要性,适用于基础前端开发场景。
JavaScript 设置与获取 Cookie 的两种实现方式
参考《JavaScript 权威指南》及项目开发中收集的资料,本文总结了两种在 JavaScript 中设置和获取 Cookie 的具体实现方案。
具体代码实现如下:
<script>
// 方法一:设置 Cookie
function setCookie(name, value) {
var exp = new Date();
// 设置有效期为 1 小时
exp.setTime(exp.getTime() + 1 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
/* 注意:存取 Cookie 时通常需要对可能引起注入风险的字符进行编码,相应地,在读取 Cookie 时需进行解码。编码方式多样,后续可专门撰写博客探讨编码解码技术。*/
// 方法二:直接存储 Cookie
document.cookie = "homepage = https://www.jb51.net";
/*-------------------------------------------------------------------------------------------------------*/
// 方法一:获取 Cookie
function getCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null)
return unescape(arr[2]);
return null;
}
// 方法二:获取 Cookie
function getCookie(key) {
if (key == null)
return null;
if (Object.prototype.toString.call(key) == '[object String]' || Object.prototype.toString.call(key) == '[object Number]') {
var arrStr = document.cookie.split(";");
for (var i = 0; i < arrStr.length; i++) {
var temp = arrStr[i].split("=");
if (temp[0] == key)
return unescape(temp[1]);
}
return null;
}
return null;
}
</script>在学习过程中,遇到不熟悉的 JavaScript 方法时,可通过查阅网络资料直至完全掌握。
作者最新文章
JavaScript异步发送HTTP请求时怎么优雅地处理错误
2026-11-05 17:10:44
5款主流JS在线运行工具对比:CodePen、JSFiddle与StackBlitz怎么选
2026-11-05 17:04:04
JavaScript入门书籍避坑:这些书不适合初学者
2026-11-05 16:31:15
JS使用Math.round实现保留两位小数的原理与代码
2026-11-05 15:35:55
JavaScript 原生 Date 对象怎么实现日期加减
2026-11-05 14:30:00
