javascript创建cookie、读取cookie

创建Cookie:

创建Cookie:

JavaScript 创建 Cookie 很容易。下面是创建 Cookie 的语法:

document.cookie = "key=value; expires=date; path=pathName";

说明:

  • key=value:键值对,表示要保存的数据。
  • expires=date:可选。设置 Cookie 的过期时间,如果不设置默认关闭网页时删除。
  • path=pathName:可选。设置 Cookie 的访问路径,默认是整个网站都可以访问。

例如,我们要创建一个名为 "username",值为 "John Doe"的 Cookie,60 天后过期:

let d = new Date();
d.setTime(d.getTime() + (60 * 24 * 60 * 60 * 1000)); //设置时间为60天后
let expires = "expires=" + d.toUTCString();
document.cookie = "username=John Doe;" + expires + ";path=/";

读取Cookie:

要读取 Cookie,只需要读取 document.cookie即可。获取到的所有 Cookie 都以分号分隔。接下来只需要遍历每个 Cookie 并且找到指定的 Cookie 即可。

例如,我们要读取名为 "username" 的 Cookie:

function getCookie(name) {
  let cname = name + "=";
  let decodedCookie = decodeURIComponent(document.cookie);
  let ca = decodedCookie.split(';');
  for(let i = 0; i <ca.length; i++) {
    let c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(cname) == 0) {
      return c.substring(cname.length, c.length);
    }
  }
  return "";
}

let username = getCookie("username");
if (username != "") {
  alert("Welcome again " + username);
} else {
  username = prompt("Please enter your name:", "");
  if (username != "" && username != null) {
    let d = new Date();
    d.setTime(d.getTime() + (60 * 24 * 60 * 60 * 1000)); //设置时间为60天后
    let expires = "expires=" + d.toUTCString();
    document.cookie = "username=" + username + ";" + expires + ";path=/";
  }
}

以上代码中,函数 getCookie() 用于获取指定名称的 Cookie。如果没有找到该名称的 Cookie,则返回一个空字符串。最后,代码会检查是否已经存在名为 "username" 的 Cookie。如果已经存在,则弹出欢迎回来提示信息。如果不存在,则要求用户输入,并将输入的值设置为 Cookie。

本文标题为:javascript创建cookie、读取cookie

基础教程推荐