📜  javascript 获取所有 cookie - Javascript (1)

📅  最后修改于: 2023-12-03 15:01:46.093000             🧑  作者: Mango

Javascript 获取所有 cookie

在网页中经常使用 cookie 来存储用户信息或者记录用户行为,使用 JavaScript 可以非常方便地获取所有 cookie。

1. 使用 document.cookie 属性

document.cookie 属性可以返回当前页面上所有的 cookie,以字符串的形式返回。我们可以用字符串分割的方式来获取每一个 cookie 的键值对。

const cookieStr = document.cookie;
const cookieArr = cookieStr.split("; ");
const cookieObj = {};
cookieArr.forEach(item => {
  const arr = item.split("=");
  cookieObj[arr[0]] = arr[1];
});
console.log(cookieObj);

上述代码通过 split 方法将所有的 cookie 分别存储到了一个数组,然后通过遍历数组并且使用 split 方法将 key 和 value 分别存储到一个对象中,这样就成功获取了所有 cookie 值。

2. 使用正则表达式

在获取 cookie 的代码中使用正则表达式也是一个不错的选择。

const cookieStr = document.cookie;
const reg = /(\w+)=(\w+)/g;
const cookieObj = {};
cookieStr.replace(reg, (match, key, value) => {
  cookieObj[key] = value;
});

console.log(cookieObj);

上述代码中我们使用了一个正则表达式,将所有的 key 和 value 分别匹配到 cookieObj 中。这种方式可以更好地抵御 cookie 中的各种奇怪的字符和格式。

结尾

到此结束了本篇文章,我们学习了两种获取所有 cookie 的方式。希望能够帮助大家更好地理解和使用 JavaScript。