当前位置:首页 > JavaScript

js实现cookie

2026-03-01 04:22:27JavaScript

设置Cookie

使用document.cookie属性设置Cookie,格式为key=value。可以附加可选参数如过期时间、路径、域名等。

js实现cookie

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/";

读取Cookie

通过document.cookie获取所有Cookie字符串,需手动解析目标值。

js实现cookie

const cookies = document.cookie.split(';');
cookies.forEach(cookie => {
  const [key, value] = cookie.trim().split('=');
  if (key === 'username') console.log(value);
});

删除Cookie

将Cookie的过期时间设置为过去的时间,浏览器会自动删除。

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

封装工具函数

const CookieUtil = {
  set(name, value, days) {
    const date = new Date();
    date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
    document.cookie = `${name}=${value};expires=${date.toUTCString()};path=/`;
  },
  get(name) {
    const cookies = document.cookie.split(';');
    for (let cookie of cookies) {
      const [key, val] = cookie.trim().split('=');
      if (key === name) return decodeURIComponent(val);
    }
    return null;
  },
  remove(name) {
    this.set(name, '', -1);
  }
};

注意事项

  • Cookie大小限制约4KB,每个域名下的Cookie数量有限制(通常20-50个)。
  • 敏感信息不应存储在Cookie中,需考虑使用HttpOnly和Secure标志增强安全性。
  • 现代应用推荐使用Web Storage API(localStorage/sessionStorage)替代简单数据存储。

标签: jscookie
分享给朋友:

相关文章

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js验证码实现

js验证码实现

验证码的基本原理 验证码(CAPTCHA)用于区分人类用户和自动化程序。常见类型包括图形验证码、滑动验证码、短信验证码等。JavaScript 可用于前端验证码的生成和验证逻辑。 图形验证码实现 使…

js实现div隐藏

js实现div隐藏

使用CSS的display属性隐藏div 通过设置元素的display属性为none,可以完全隐藏div元素。这种方法不仅隐藏元素,还会从文档流中移除,不占据页面空间。 document.getEl…

jquery和js

jquery和js

jQuery与JavaScript的区别 jQuery是一个基于JavaScript的库,封装了许多常用的功能,简化了DOM操作、事件处理、动画效果等。JavaScript是原生语言,功能更全面但代码…

vue.js实现异步

vue.js实现异步

Vue.js 实现异步的方法 Vue.js 提供了多种方式来处理异步操作,以下是常见的实现方法: 使用 async/await 语法 在 Vue 组件的方法中,可以使用 async/await 来简…

vue.js watch实现

vue.js watch实现

使用 watch 监听数据变化 在 Vue.js 中,watch 用于监听响应式数据的变化,并在数据变化时执行回调函数。 基本语法 export default { data() {…