js设置cookie过期及清除浏览器对应名称的cookie

如何设置Cookie过期时间

Cookie是用来存储一些数据的,在某些情况下,我们希望对存储的cookie设置过期时间,来更好地实现一些功能。下面是利用JS设置cookie过期时间的方法:

  1. 利用JS设置cookie
document.cookie = "cookieName=cookieValue;expires=Thu, 18 Dec 2022 12:00:00 GMT; path=/"; 

上面的代码中,我们设置了cookie名称为cookieName,cookie值为cookieValue,过期时间为2022年12月18日12点,过期时间使用GMT格式,path是cookie的有效路径。

  1. 设置cookie过期时间
function setCookie(city, days) {
  var date = new Date();
  var expireDay = date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
  var expires = "expires=" + expireDay.toUTCString();
  document.cookie = city + "=" + city + "; " + expires;
}

上面的代码中,我们利用了Date对象获取当前时间,并且利用setTime()方法获取了过期时间。然后使用toUTCString()方法将过期时间转换为UTC时间格式,最后设置expires为转换后的时间字符串,利用document.cookie设置cookie名称为city,值也为city,并设置过期时间。

如何清除浏览器对应名称的Cookie

设置过期时间能有效防止cookie长时间存在浏览器中,但是有些时候我们需要清除掉某个特定的cookie。下面是利用JS清除浏览器对应名称的cookie的方法:

function clearCookie(name) {
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval = getCookie(name);
  if (cval != null) {
    document.cookie = name + "=" + cval + ";expires=" + exp.toUTCString();
  }
}

function getCookie(name) {
  var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  if (arr = document.cookie.match(reg)) {
    return unescape(arr[2]);
  } else {
    return null;
  }
}

上面代码中的clearCookie函数接收cookie名称作为参数。该函数获取cookie的值,判断该值是否为null,然后将exp设置为当前日期的前一天的时间,最后重写cookie,并将过期时间设置为exp。

示例1:添加一个30天的cookie

var date = new Date();
date.setTime(date.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30天
var expires = "expires=" + date.toUTCString();
document.cookie = "username=John Doe;" + expires + "; path=/";

上面的代码中,我们进行了如下操作:

  1. 创建一个名为username的cookie,值为John Doe
  2. 计算出30天后的日期,并将其转换为UTS时间格式。
  3. 设置expires属性为计算出的时间,并设置cookie的有效路径为根目录。

示例2:清除名为username的cookie

function clearCookie(name) {
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval = getCookie(name);
  if (cval != null) {
    document.cookie = name + "=" + cval + ";expires=" + exp.toUTCString();
  }
}

function getCookie(name) {
  var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  if (arr = document.cookie.match(reg)) {
    return unescape(arr[2]);
  } else {
    return null;
  }
}

clearCookie('username');

上面的代码中,我们先定义了clearCookie和getCookie两个函数。然后在clearCookie函数中调用getCookie函数以获取cookie的值。最后使用toUTCString()方法将过期时间设置为当前时间减去1毫秒,清除这个cookie。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js设置cookie过期及清除浏览器对应名称的cookie - Python技术站

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

相关文章

  • JavaScript初级教程(第五课)

    JavaScript初级教程(第五课) 完整攻略 1. 概述 JavaScript初级教程(第五课)讲解了JavaScript的循环结构,包括for循环、while循环和do-while循环。循环结构是程序中非常关键的一部分,可以用于反复执行相同的代码块或者根据条件执行代码块。 2. for循环 for循环是循环结构中最常见的一种,语法如下: for (in…

    JavaScript 2023年5月18日
    00
  • JavaScript模拟实现Promise功能的示例代码

    下面是“JavaScript模拟实现Promise功能的示例代码”的完整攻略。 什么是 Promise Promise是 JavaScript 异步编程的一种解决方案,用于处理异步操作中的回调地狱问题,提高可维护性和可读性。它解决了回调函数多层嵌套的问题,通过链式调用的形式增加可读性,并通过 then方法捕获错误。 Promise 本质上是一个对象,从它可以…

    JavaScript 2023年5月28日
    00
  • 详解JavaScript RegExp对象

    详解JavaScript RegExp对象 正则表达式(RegExp对象)是JavaScript高级功能中最常用的功能之一。正则表达式用于模式匹配,可用于搜索、替换和验证文本。JavaScript中RegExp对象提供了正则表达式的操作和方法。在本攻略中,我们将深入了解RegExp对象。 RegExp对象 RegExp对象是用来解析正则表达式的工具。在Jav…

    JavaScript 2023年5月27日
    00
  • Javascript Date setSeconds() 方法

    以下是关于JavaScript Date对象的setSeconds()方法的完整攻略,包括两个示例说明。 JavaScript Date对象的setSeconds()方法 JavaScript Date对象的setSeconds()方法设置日期对象的秒部分。该方法接受一个整数,表示要设置的秒数。如果该参数超出了JavaScript所能表示的范围,则自动调整为…

    JavaScript 2023年5月11日
    00
  • Node.js中使用Buffer编码、解码二进制数据详解

    当我们需要处理二进制数据时,就需要使用到Node.js的Buffer API。Buffer API是用于处理二进制数据的API,可以将数据流转换为Buffer对象,进行编码、解码、拼接、拆分等操作。 创建Buffer对象 首先,我们需要创建一个Buffer对象来存储我们的二进制数据。可以通过下面的几种方式创建: 方法一:通过字符串创建Buffer对象 con…

    JavaScript 2023年5月19日
    00
  • 将string解析为json的几种方式小结

    让我们详细讲解一下如何将字符串解析为JSON的几种方式。 使用JSON库解析字符串 目前市面上有很多种JSON库可供选择,比如jsoncpp、rapidjson等。我们以jsoncpp为例进行讲解。 步骤一:引入头文件 #include <json/json.h> 步骤二:将字符串解析为JSON格式 std::string str = &quot…

    JavaScript 2023年5月27日
    00
  • vue实现登录后页面跳转到之前页面

    要实现登录后页面跳转到之前页面,可以根据以下步骤进行操作: 1. 创建Vue Router实例 首先,需要安装并引入Vue Router,然后创建一个Vue Router实例,用于管理路由。在Vue Router实例中定义路由,包括路由名称、路径和对应组件。 示例: // main.js import Vue from ‘vue’ import VueRou…

    JavaScript 2023年6月11日
    00
  • JavaScript中eval()函数用法详解

    下面就来详细讲解一下”JavaScript中eval()函数用法详解”的完整攻略。 一、eval()函数的基本语法 eval()函数的基本语法如下: eval(string) 其中,参数string是被解析执行的JavaScript代码字符串。 二、eval()函数的用途 eval()函数可以把一个字符串当作JavaScript代码进行解析执行。这在某些场景…

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