千家信息网

JavaScript中如何对Cookie进行操作

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"JavaScript中如何对Cookie进行操作",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JavaScript中如何对Cookie进
千家信息网最后更新 2025年12月02日JavaScript中如何对Cookie进行操作

本篇内容主要讲解"JavaScript中如何对Cookie进行操作",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JavaScript中如何对Cookie进行操作"吧!

Cookie 只是存储在计算机浏览器中的小型文本文件。它们包含以下数据:

  • 保存数据的 Name-value 对

  • 日期到期时,该 cookie 失效

  • 应将其发送到的服务器的域和路径

而cookie也有一些值得一提的限制:

  • 每个cookie的最大为 4096 字节

  • 每个域最多20个cookie(每个浏览器略有不同)

  • Cookie是其自己的域名专用的(网站无法读取其他域的 Cookie,只能是它自己的)

  • 大小限制适用于整个cookie,而不仅仅是它的值

在浏览器中,cookie通过 DOM 被公开为 [xss_clean]s。

下面我们将介绍如何用 JavaScript 在浏览器中设置、获取、更新和删除 Cookie 数据。

Create Cookies

用 JavaScript 在浏览器中设置 cookie 非常简单!我将在下面向你展示。

(1) 设置 Cookie

以下是在浏览器中用 JavaScript 创建新 cookie 的执行代码:

[xss_clean] = "userId=nick123"

运行该代码后,打开浏览器,你应该能在开发者工具的 Application(Safari 或Chrome)或 Storage(Firefox)中找到该 cookie。

(2) 设置 cookie 的过期时间

你还可以向 Cookie 中添加过期时间(UTC),告知浏览器应该在什么时候将其删除:

[xss_clean] = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC"

(3) 设置一个 Cookie 路径

你还可以告诉浏览器 cookie 所属的路径(默认值是当前页面的路径):

[xss_clean] = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC; path=/user"

(4) 设置 cookie 域

我们将介绍的最后一段数据是 cookie 所属的域(默认为当前域):

[xss_clean] = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC; path=/user; domain=mysite.com"

Read Cookies

通过 [xss_clean] 对象,用 JavaScript 读取 cookie 也非常简单:

(1) 读取单个页面所有的 Cookie

将单个页面的所有 cookie 作为字符串获取,每个 cookie 用分号分隔:

const cookies = [xss_clean]

(2) 读取具有特定名称的Cookie

要访问具有特定名称的 cookie,我们需要获取页面上所有的 cookie 并解析字符串,然后查找我们想要寻找的 cookie 名称的匹配项。

这是一个用正则表达式完成此任务的函数:

function getCookieValue(name) {   let result = [xss_clean].match("(^|[^;]+)\\s*" + name + "\\s*=\\s*([^;]+)")   return result ? result.pop() : "" }

你这样使用该函数:

getCookieValue("userId") //returns nick123

这将返回与提供给函数的 name 参数对应的字符串值。

如果你还没有掌握正则表达式,还有另一个同样功能的函数:

function getCookieValue(name) {   const namenameString = name + "="      const value = [xss_clean].split(";").filter(item => {     return item.includes(nameString)   })      if (value.length) {     return value[0].substring(nameString.length, value[0].length)   } else {     return ""   } }

用相同的方法使用该函数:

getCookieValue("userId") //returns nick123

Update Cookies

你可以通过创建的方式用新值覆盖 cookie 来更改它的值。

你可以用此代码覆盖本文前面创建的 cookie "userId" :

[xss_clean] = "userId=new_value"

当你再次运行 getCookieValue 函数时,将返回新值:

getCookieValue("userId") //returns new_value

Delete Cookies

你可以给 cookie 设置一个空值,并将其过期日期设置为过去的任意时间来删除 cookie。

如果我们想要删除前面例子的 cookie "userId" ,请按以下步骤操作:

[xss_clean] = "userId=; expires=Thu, 01 Jan 1970 00:00:00 UTC;"

到此,相信大家对"JavaScript中如何对Cookie进行操作"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

浏览器 浏览 函数 数据 路径 页面 代码 名称 字符 字符串 时间 内容 单个 所属 方法 日期 正则 网站 表达式 中设 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 四川省研究生网络安全录取线 数据库技术的发展及新技术 湖南思辰网络技术有限公司 英文医学文献数据库 一年级网络安全手抄报字帖 软件开发哪个比较简单易学 网络安全法 给予 财政局网络安全应急演练情况 酷酷跑显示服务器出错怎么办 文件地理数据库名称 数据库系统工程师考试大纲第三版 计算机网络技术信息管理方向 小白网络技术科普课(动画) 云服务器适合什么操作系统 电子邮箱发件服务器 什么计算机网络技术软件 内蒙古收费软件开发 SAP软件开发项目薪资报价 描述网络安全的模型 ipv4dns的服务器和网关 河南武林网络技术公司 企业如何做好网络安全和数据安全 大同电信宽带dns服务器地址 腾讯云如何免费领取云服务器 set协议是网络安全吗 网络技术教育中心竞聘报告 剑三服务器怎么查看 医药进销存管理无法连接数据库 无锡java软件开发流程 中学生 网络安全ppt
0