js读写cookie相关的代码类封装和函数,并加上中文注释,给出100个实例

js读写cookie相关的代码类封装和函数,并加上中文注释,给出100个实例

  1. 设置 cookie
javascript/**
 * 设置 cookie
 * @param {string} name cookie 名称
 * @param {string} value cookie 值
 * @param {number} days cookie 有效天数
 */
function setCookie(name, value, days) {
  let expires = '';
  if (days) {
    let date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    expires = `; expires=${date.toUTCString()}`;
  }
  document.cookie = `${name}=${value}${expires}; path=/`;
}
  1. 获取 cookie
javascript/**
 * 获取 cookie
 * @param {string} name cookie 名称
 * @return {string|null} cookie 值,如果不存在则返回 null
 */
function getCookie(name) {
  let cookieName = `${name}=`;
  let cookieArray = document.cookie.split(';');
  for (let i = 0; i < cookieArray.length; i++) {
    let cookie = cookieArray[i].trim();
    if (cookie.indexOf(cookieName) === 0) {
      return cookie.substring(cookieName.length, cookie.length);
    }
  }
  return null;
}
  1. 删除 cookie
javascript/**
 * 删除 cookie
 * @param {string} name cookie 名称
 */
function deleteCookie(name) {
  document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
}
  1. 设置 cookie,有效期为 1 小时
javascriptsetCookie('name', 'value', 1/24);
  1. 获取 cookie 名称为 name 的值
javascriptlet value = getCookie('name');
  1. 删除 cookie 名称为 name 的值
javascriptdeleteCookie('name');
  1. 设置 cookie,有效期为 7 天
javascriptsetCookie('name', 'value', 7);
  1. 获取当前域名下所有的 cookie
javascriptlet cookies = document.cookie.split(';');
  1. 获取当前域名下所有的 cookie 名称
javascriptlet cookieNames = cookies.map((cookie) => cookie.split('=')[0].trim());
  1. 获取当前域名下所有的 cookie 值
javascriptlet cookieValues = cookies.map((cookie) => cookie.split('=')[1].trim());
  1. 获取当前域名下所有的 cookie 名称和值
javascriptlet cookieMap = {};
cookies.forEach((cookie) => {
  let [name, value] = cookie.split('=');
  cookieMap[name.trim()] = value.trim();
});
  1. 设置 cookie,有效期为 30 分钟
javascriptsetCookie('name', 'value', 1/48);
  1. 获取 cookie 名称为 age 的值
javascriptlet age = parseInt(getCookie('age'));
  1. 删除 cookie 名称为 age 的值
javascriptdeleteCookie('age');
  1. 设置 cookie,有效期为 1 年
javascriptsetCookie('name', 'value', 365);
  1. 获取当前域名下所有的 cookie 名称和值的数组
javascriptlet cookieArray = cookies.map((cookie) => {
  let [name, value] = cookie.split('=');
  return { name: name.trim(), value: value.trim() };
});
  1. 获取 cookie 名称为 name 的值,如果不存在则返回默认值
javascriptlet name = getCookie('name') || 'default';
  1. 删除所有 cookie
javascriptcookies.forEach((cookie) => {
  let [name] = cookie.split('=');
  deleteCookie(name.trim());
});
  1. 设置 cookie,有效期为 1 小时,作用域为指定的路径
javascriptsetCookie('name', 'value', 1/24, '/path');
  1. 获取当前路径下所有的 cookie 名称和值的对象
javascriptlet cookieObject = {};
cookies.forEach((cookie) => {
  let [name, value] = cookie.split('=');
  if (cookie.indexOf('/path') !== -1) {
    cookieObject[name.trim()] = value.trim();
  }
});
  1. 设置 cookie,有效期为 30 分钟,作用域为指定的路径
javascriptsetCookie('name', 'value', 1/48, '/path');
  1. 获取 cookie 名称为 age 的值,如果不存在则返回默认值 18
javascriptlet age = parseInt(getCookie('age') || 18);
  1. 删除所有指定路径下的 cookie
javascriptcookies.forEach((cookie) => {
  let [name] = cookie.split('=');
  if (cookie.indexOf('/path') !== -1) {
    deleteCookie(name.trim());
  }
});
  1. 设置 cookie,有效期为 1 年,作用域为指定的路径
javascriptsetCookie('name', 'value', 365, '/path');
  1. 获取当前路径下所有的 cookie 名称和值的数组
javascriptlet cookieArray = cookies.filter((cookie) => cookie.indexOf('/path') !== -1).map((cookie) => {
  let [name, value] = cookie.split('=');
  return { name: name.trim(), value: value.trim() };
});
  1. 设置 cookie,有效期为 1 小时,作用域为指定的域名
javascriptsetCookie('name', 'value', 1/24, '/', '.example.com');
  1. 获取当前域名下所有的 cookie 名称和值的对象
javascriptlet cookieObject = {};
cookies.forEach((cookie) => {
  let [name, value] = cookie.split('=');
  if (cookie.indexOf('.example.com') !== -1) {
    cookieObject[name.trim()] = value.trim();
  }
});
  1. 设置 cookie,有效期为 30 分钟,作用域为指定的域名
javascriptsetCookie('name', 'value', 1/48, '/', '.example.com');
  1. 获取 cookie 名称为 age 的值,如果不存在则返回默认值 18
javascriptlet age = parseInt(getCookie('age') || 18);
  1. 删除所有指定域名下的 cookie
javascriptcookies.forEach((cookie) => {
  let [name] = cookie.split('=');
  if (cookie.indexOf('.example.com') !== -1) {
    deleteCookie(name.trim());
  }
});
  1. 设置 cookie,有效期为 1 年,作用域为指定的域名
javascriptsetCookie('name', 'value', 365, '/', '.example.com');
  1. 获取当前域名下所有的 cookie 名称和值的数组
javascriptlet cookieArray = cookies.filter((cookie) => cookie.indexOf('.example.com') !== -1).map((cookie) => {
  let [name, value] = cookie.split('=');
  return { name: name.trim(), value: value.trim() };
});
  1. 设置 cookie,有效期为 1 小时,作用域为指定的子路径
javascriptsetCookie('name', 'value', 1/24, '/path/subpath');
  1. 获取当前子路径下所有的 cookie 名称和值的对象
javascriptlet cookieObject = {};
cookies.forEach((cookie) => {
  let [name, value] = cookie.split('=');
  if (cookie.indexOf('/path/subpath') !== -1) {
    cookieObject[name.trim()] = value.trim();
  }
});
  1. 设置 cookie,有效期为 30 分钟,作用域为指定的子路径
javascriptsetCookie('name', 'value', 1/48, '/path/subpath');
  1. 获取 cookie 名称为 age 的值,如果不存在则返回默认值 18
javascriptlet age = parseInt(getCookie('age') || 18);
  1. 删除所有指定子路径下的 cookie
javascriptcookies.forEach((cookie) => {
  let [name] = cookie.split('=');
  if (cookie.indexOf('/path/subpath') !== -1) {
    deleteCookie(name.trim());
  }
});
  1. 设置 cookie,有效期为 1 年,作用域为指定的子路径
javascriptsetCookie('name', 'value', 365, '/path/subpath');
  1. 获取当前子路径下所有的 cookie 名称和值的数组
javascriptlet cookieArray = cookies.filter((cookie) => cookie.indexOf('/path/subpath') !== -1).map((cookie) => {
  let [name, value] = cookie.split('=');
  return { name: name.trim(), value: value.trim() };
});
  1. 设置 cookie,有效期为 1 小时,作用域为指定的子域名
javascriptsetCookie('name', 'value', 1/24, '/', 'subdomain.example.com');
  1. 获取当前子域名下所有的 cookie 名称和值的对象
javascriptlet cookieObject = {};
cookies.forEach((cookie) => {
  let [name, value] = cookie.split('=');
  if (cookie.indexOf('subdomain.example.com') !== -1) {
    cookieObject[name.trim()] = value.trim();
  }
});
  1. 设置 cookie,有效期为 30 分钟,作用域为指定的子域名
javascriptsetCookie('name', 'value', 1/48, '/', 'subdomain.example.com');
  1. 获取 cookie 名称为 age 的值,如果不存在则返回默认值 18
javascriptlet age = parseInt(getCookie('age') || 18);
  1. 删除所有指定子域名下的 cookie
javascriptcookies.forEach((cookie) => {
  let [name] = cookie.split('=');
  if (cookie.indexOf('subdomain.example.com') !== -1) {
    deleteCookie(name.trim());
  }
});
  1. 设置 cookie,有效期为 1 年,作用域为指定的子域名
javascriptsetCookie('name', 'value', 365, '/', 'subdomain.example.com');
  1. 获取当前子域名下所有的 cookie 名称和值的数组
javascriptlet cookieArray = cookies.filter((cookie) => cookie.indexOf('subdomain.example.com') !== -1).map((cookie) => {
  let [name, value] = cookie.split('=');
  return { name: name.trim(), value: value.trim() };
});
  1. 设置 cookie,有效期为 1 小时,作用域为指定的端口号
javascriptsetCookie('name', 'value', 1/24, '/', '', 8080);
  1. 获取当前端口号下所有的 cookie 名称和值的对象
javascriptlet cookieObject = {};
cookies.forEach((cookie) => {
  let [name, value] = cookie.split('=');
  if (cookie.indexOf(':8080') !== -1) {
    cookieObject[name.trim()] = value.trim();
  }
});
  1. 设置 cookie,有效期为 30 分钟,作用域为指定的端口号
javascriptsetCookie('name', 'value', 1/48, '/', '', 8080);
  1. 获取 cookie 名称为 age 的值,如果不存在则返回默认值 18
javascriptlet age = parseInt(getCookie('age') || 18);
  1. 删除所有指定端口号下的 cookie
javascriptcookies.forEach((cookie) => {
  let [name] = cookie.split('=');
  if (cookie.indexOf(':8080') !== -1) {
    deleteCookie(name.trim());
  }
});
  1. 设置 cookie,有效期为 1 年,作用域为指定的端口号
javascriptsetCookie('name', 'value', 365, '/', '', 8080);
  1. 获取当前端口号下所有的 cookie 名称和值的数组
javascriptlet cookieArray = cookies.filter((cookie) => cookie.indexOf(':8080') !== -1).map((cookie) => {
  let [name, value] = cookie.split('=');
  return { name: name.trim(), value: value.trim() };
});
  1. 设置 cookie,有效期为 1 小时,作用域为指定的协议
javascriptsetCookie('name', 'value', 1/24, '/', '', '', true);
  1. 获取当前协议下所有的 cookie 名称和值的对象
javascriptlet cookieObject = {};
cookies.forEach((cookie) => {
  let [name, value] = cookie.split('=');
  if (cookie.indexOf('https') !== -1) {
    cookieObject[name.trim()] = value.trim();
  }
});
  1. 设置 cookie,有效期为 30 分钟,作用域为指定的协议
javascriptsetCookie('name', 'value', 1/48, '/', '', '', true);
  1. 获取 cookie 名称为 age 的值,如果不存在则返回默认值 18
javascriptlet age = parseInt(getCookie('age') || 18);
  1. 删除所有指定协议下的 cookie
javascriptcookies.forEach((cookie) => {
  let [name] = cookie.split('=');
  if (cookie.indexOf('https') !== -1) {
    deleteCookie(name.trim());
  }
});
  1. 设置 cookie,有效期为 1 年,作用域为指定的协议
javascriptsetCookie('name', 'value', 365, '/', '', '', true);
  1. 获取当前协议下所有的 cookie 名称和值的数组
javascriptlet cookieArray = cookies.filter((cookie) => cookie.indexOf('https') !== -1).map((cookie) => {
  let [name, value] = cookie.split('=');
  return { name: name.trim(), value: value.trim() };
});
  1. 设置 cookie,有效期为 1 小时,作用域为指定的域名、路径、子域名、端口号和协议
javascriptsetCookie('name', 'value', 1/24, '/path/subpath', 'subdomain.example.com', 8080, true);
  1. 获取当前作用域下所有的 cookie 名称和值的对象
javascriptlet cookieObject = {};
cookies.forEach((cookie) => {
  let [name, value] = cookie.split('=');
  if (cookie.indexOf('subdomain.example.com') !== -1 && cookie.indexOf('/path/subpath') !== -1 && cookie.indexOf(':8080') !== -1 && cookie.indexOf('https') !== -1) {
    cookieObject[name.trim()] = value.trim();
  }
});
  1. 设置 cookie,有效期为 30 分钟,作用域为指定的域名、路径、子域名、端口号和协议
javascriptsetCookie('name', 'value', 1/48, '/path/subpath', 'subdomain.example.com', 8080, true);
  1. 获取 cookie 名称为 age 的值,如果不存在则返回默认值 18
javascriptlet age = parseInt(getCookie('age') || 18);
  1. 删除所有指定作用域下的 cookie
javascriptcookies.forEach((cookie) => {
  let [name] = cookie.split('=');
  if (cookie.indexOf('subdomain.example.com') !== -1 && cookie.indexOf('/path/subpath') !== -1 && cookie.indexOf(':8080') !== -1 && cookie.indexOf('https') !== -1) {
    deleteCookie(name.trim());
  }
});
  1. 设置 cookie,有效期为 1 ���,作用域为指定的域名、路径、子域名、端口号和协议
javascriptsetCookie('name', 'value', 365, '/path/subpath', 'subdomain.example.com', 8080, true);
  1. 获取当前作用域下所有的 cookie 名称和值的数组
javascriptlet cookieArray = cookies.filter((cookie) => cookie.indexOf('subdomain.example.com') !== -1 && cookie.indexOf('/path/subpath') !== -1 && cookie.indexOf(':8080') !== -1 && cookie.indexOf('https') !== -1).map((cookie) => {
  let [name, value] = cookie.split('=');
  return { name: name.trim(), value: value.trim() };
});
  1. 设置 cookie,有效期为 1 小时,作用域为指定的域名、路径、子域名、端口号和协议,并设置 HttpOnly 属性
javascriptsetCookie('name', 'value', 1/24, '/path/subpath', 'subdomain.example.com', 8080, true, true);
  1. 获取当前作用域下所有的 cookie 名称和值的对象
javascriptlet cookieObject = {};
cookies.forEach((cookie) => {
  let [name, value] = cookie.split('=');
  if (cookie.indexOf('subdomain.example.com') !== -1 && cookie.indexOf('/path/subpath') !== -1 && cookie.indexOf(':8080') !== -1 && cookie.indexOf('https') !== -1 && cookie.indexOf('HttpOnly') !== -1) {
    cookieObject[name.trim()] = value.trim();
  }
});
  1. 设置 cookie,有效期为 30 分钟,作用域为指定的域名、路径、子域名、端口号和协议,并设置 HttpOnly 属性
javascriptsetCookie('name', 'value', 1/48, '/path/subpath', 'subdomain.example.com', 8080, true, true);
  1. 获取 cookie 名称为 age 的值,如果不存在则返回默认值 18
javascriptlet age = parseInt(getCookie('age') || 18);

猜你喜欢

转载自blog.csdn.net/zh6526157/article/details/129658416