JavaScript获取cookie的方法

之前都是使用 php 对 cookie 进行操作,今天有个需求,需要用 js 获取网站的 cookie 。下面开始:

获取 cookie 存为数组:

  1. let cookieArr = document.cookie.split(";")

遍历数组,存为对象:

  1. let cookieObj = {};
  2. for (let i = 0; i < cookieArr.length; i++) {
  3.   if (cookieArr[i]) {
  4.     cookieSplit = cookieArr[i].split("=");
  5.     cookieObj[cookieSplit[0]] = cookieSplit[1];
  6.   }
  7. }

不过这里需要注意一下,这样直接使用是不行的,会报错 undefined

因为便利出来的 namevalue 是带有空格的。

所以需要再处理一下,可以封装成一个方法:

  1. function getCookieObj () {//根据name获取cookie的值
  2.   let cookieObj = {},
  3.   cookieSplit = [],// 以分号(;)分组
  4.   cookieArr = document.cookie.split(";"),;
  5.   for (var i = 0; i < cookieArr.length; i++) {
  6.     if (cookieArr[i]) {
  7.       cookieSplit = cookieArr[i].split("=");//以等号(=)分组
  8.       cookieObj[cookieSplit[0].replace(/^\s*|\s*$/g, "")] = cookieSplit[1].replace(/^\s*|\s*$/g, "");//删除字符串两边的空格
  9.     }
  10.   }
  11.   return cookieObj;
  12. }

使用时直接调用即可:

  1. var c = getCookieObj(),
  2. = c.token;


未经允许不得转载:前端资源网 - w3h5 » JavaScript获取cookie的方法

赞 (0)
分享到: +

评论 沙发

Avatar

换个身份

  • 昵称 (必填)
  • 邮箱 (选填)