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和php对url编码的处理方法

    当涉及到 URL 编码和解码时,JavaScript 和 PHP 都提供了自己的方法。 JavaScript URL 编码和解码 JavaScript 中处理 URL 编码和解码的方法是 encodeURIComponent() 和 decodeURIComponent() 方法。其中,encodeURIComponent() 用于将 URL 中的非字母数字…

    JavaScript 2023年5月19日
    00
  • 深入理解JavaScript单体内置对象

    深入理解JavaScript单体内置对象 JavaScript 的单体内置对象是指在全局作用域中提供的那些对象,例如 String、Array、Object、Math、Date 等等。掌握这些内置对象的特点和方法,可以帮助我们更有效地编写 JavaScript 代码。下面就是深入理解 JavaScript 单体内置对象的攻略。 了解每个内置对象的定义和用途 …

    JavaScript 2023年5月27日
    00
  • JS自动倒计时30秒后按钮才可用(两种场景)

    当我们需要用户在规定时间内完成某些操作,而不希望用户在规定时间之前提交多次请求时,可以使用JS自动倒计时,以此限制用户在规定时间之前不能再触发该操作。 以下是JS自动倒计时的完整攻略,包含两种场景的具体实现方法。 场景一:按钮点击后30秒后才可再次触发 HTML代码 首先,我们需要在HTML代码中创建一个按钮,例如以下代码: <button id=&q…

    JavaScript 2023年6月10日
    00
  • JavaScript 学习笔记(六)

    JavaScript 学习笔记(六)主要介绍了函数的使用,包括函数的定义、调用以及函数的参数和返回值。 函数的定义与调用 函数是一段执行特定任务的代码块,可以多次调用。在 Javascript 中,函数定义的语法如下: function functionName(argument1, argument2, …) { // 函数体 return value…

    JavaScript 2023年6月11日
    00
  • javascript中SetInterval与setTimeout的定时器用法

    关于JavaScript中的SetInterval和setTimeout定时器用法,我会给你一些详细的说明。 SetInterval和setTimeout的简介 SetInterval和setTimeout是JavaScript中非常常用、常见的两个定时器,它们可以让我们在一个指定的时间间隔或者一次性的延时之后执行相应的代码。具体来说: SetInterva…

    JavaScript 2023年6月11日
    00
  • 跟我学习javascript的闭包

    跟我学习JavaScript的闭包攻略 什么是闭包? 在JavaScript中,闭包是指一个函数可以访问并操作定义在其它函数内部的变量。 具体来说,当一个函数返回另一个函数时,返回的函数可以访问其父级函数的变量,这个返回的函数就是一个闭包。 为什么需要使用闭包? 使用闭包有以下几个好处: 私有化变量: 为变量提供私有化处理,保护不被外部所访问,实现数据的安全…

    JavaScript 2023年5月27日
    00
  • JavaScript 基础问答三

    JavaScript 基础问答三包含以下问题: 什么是事件循环?请简单描述它的机制。 JavaScript 中的 this 是什么?它有哪些应用场景? 请简单描述下 promise 的用法。 如何判断一个变量是数组类型?请写出代码示例。 下面是针对这些问题的完整攻略: 1. 什么是事件循环?请简单描述它的机制。 事件循环是指 JavaScript 引擎中的一…

    JavaScript 2023年5月18日
    00
  • 掌握AJAX第2/7页

    掌握AJAX第2/7页的完整攻略 简介 AJAX(异步的JavaScript和XML)是一种用于创建动态网页的技术。它的主要优点是不用重新加载整个页面就可以与服务器进行交互。这种技术使得Web应用程序更快速、更灵活,并增强了用户体验。在本攻略中,我们将着重介绍AJAX的相关概念和使用方法。 了解AJAX AJAX是一种用于创建动态网页的重要技术。它的主要原理…

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