js中的cookie的读写操作示例详解

有关 JavaScript 中的 Cookie 读写操作,通常需要通过 document.cookie 属性进行实现。下面是关于如何读写 Cookie 的示例及详细攻略。

读取 Cookie 值

通过 document.cookie 属性可以访问 Cookie 值。Cookie 格式通常为 name=value,使用分号(;)将多个 Cookie 分隔开,每个分号后面还可能有空格。以下是读取 Cookie 值的代码示例:

function getCookie(name) {
  const cookieString = decodeURIComponent(document.cookie);
  const cookies = cookieString.split(';');
  for (let i = 0; i < cookies.length; i++) {
    const cookie = cookies[i].trim();
    if (cookie.startsWith(`${name}=`)) {
      return cookie.substring(name.length + 1);
    }
  }
  return null;
}

以上代码中,首先使用 decodeURIComponent 函数对 document.cookie 进行解码。然后,使用 split 函数将多个 Cookie 值分割成一个数组。接着,使用 for 循环遍历数组中的每个元素,并使用 startsWith 函数判断是否为要查找的 Cookie,如果是,则使用 substring 函数提取出 Cookie 值并返回。

写入 Cookie 值

写入 Cookie 值通常需要指定 name、value 和过期时间等参数。以下是写入 Cookie 值的代码示例:

function setCookie(name, value, days) {
  const d = new Date();
  d.setTime(d.getTime() + (days * 24 * 60 * 60 * 1000));
  const expires = `expires=${d.toUTCString()}`;
  document.cookie = `${name}=${encodeURIComponent(value)};${expires};path=/`;
}

以上代码中,首先使用 Date 函数获取当前时间,并将过期时间计算为设定的天数之后。然后,使用 toUTCString 函数将时间转换为 UTC 格式的字符串,作为 expires 参数的值。接着,使用 encodeURIComponent 函数对 value 进行编码,防止其中包含特殊字符(如分号等)。最后,使用 document.cookie 属性将 Cookie 值写入浏览器中。

示例说明:

  1. 读取 Cookie:
const name = getCookie('username');
console.log(name);

以上代码将输出名为 'username' 的 Cookie 值。
2. 写入 Cookie:

setCookie('username', 'hello', 3);

以上代码将写入一个名为 'username',值为 'hello',过期时间为 3 天的 Cookie 值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中的cookie的读写操作示例详解 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JS中dom0级事件和dom2级事件的区别介绍

    JS中事件分为DOM0级事件和DOM2级事件。 DOM0 级事件:是将一个函数赋值给一个事件处理程序属性,如下所示: document.getElementById("button").onclick = function(){ alert("Hello World!"); } DOM2级事件:定义了两个方法 用于指定…

    JavaScript 2023年6月10日
    00
  • element el-tree组件的动态加载、新增、更新节点的实现

    首先我们需要了解一下element el-tree组件的基本结构和属性: <el-tree :data="data" :load="load" :props="defaultProps" @node-click="handleNodeClick"> </el-t…

    JavaScript 2023年6月10日
    00
  • js DOM 元素ID就是全局变量

    JavaScript DOM 元素ID就是全局变量这一特性,指的是在使用getElementById获取DOM元素的时候,该元素的ID将自动成为一个全局变量,可以直接访问和操作该元素。 例如,如果我们有一个按钮元素,其ID为“myButton”,我们可以使用以下代码获取该按钮元素: var btn = document.getElementById(&quo…

    JavaScript 2023年6月10日
    00
  • Javascript中函数分类&this指向的实例详解

    Javascript中函数分类&this指向的实例详解 函数的分类 Javascript中的函数可大致分为以下几类: 1. 全局函数 全局函数是位于全局作用域下的函数,可以被任何地方调用到,其定义方式如下: function funcName() { // 函数体 } 2. 对象方法 对象方法是位于对象中的函数,其可以访问对象中的属性或方法,其定义方…

    JavaScript 2023年5月27日
    00
  • 原生js实现淘宝购物车功能

    原生js实现淘宝购物车功能的攻略可以分为以下几个步骤: 步骤一:页面结构 首先,我们需要在页面中设置一个存放购物车商品的容器,并给它一个id,方便我们后续在JavaScript中获取到它的元素: <div id="cart-container"> </div> 步骤二:获取数据 接下来,我们需要从后台获取购物车中的…

    JavaScript 2023年6月11日
    00
  • Javascript的数组与字典用法与遍历对象的属性技巧

    Javascript的数组与字典用法 数组 数组是Javascript中常用的数据结构之一,它是一种有序的、可重复的数据集合,可以通过索引来访问其中的元素。 定义和初始化数组 Javascript中定义数组有两种方式,一种是使用Array构造函数,另一种是使用数组字面量。 使用Array构造函数可以这样定义一个空数组: var arr = new Array…

    JavaScript 2023年5月27日
    00
  • JS绘制生成花瓣效果的方法

    JS绘制生成花瓣效果是一种常见的效果,通常采用canvas技术实现。下面来详细讲解一下如何实现这个效果。 1. 准备工作 首先需要创建一个canvas标签,命名为flowerCanvas,设置画布宽高为800px*600px: <canvas id="flowerCanvas" width="800" heigh…

    JavaScript 2023年5月28日
    00
  • 微信小程序 扭蛋抽奖机css3动画实现详解

    下面是针对“微信小程序 扭蛋抽奖机css3动画实现详解”的完整攻略: 1. 技术说明 本文所用技术为微信小程序,主要会用到CSS3动画和小程序的Canvas组件。 我们需要使用wx.createCanvasContext方法获取Canvas绘图上下文对象,然后调用该上下文对象的相关方法进行Canvas的渲染和动画绘制。 2. 实现步骤 2.1 页面结构 首先…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部