cookie.js 1006 Bytes
Newer Older
徐立's avatar
徐立 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
/**
 * 设置cookie
 * @param name cookie的名称
 * @param value cookie的值
 * @param day cookie的过期时间
 */
export const setCookie = function (name, value, day) {
  if (day !== 0) {     //当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
    const expires = day * 24 * 60 * 60 * 1000;
    const date = new Date(+new Date() + expires);
    document.cookie = name + "=" + escape(value) + ";expires=" + date.toUTCString();
  } else {
    document.cookie = name + "=" + escape(value);
  }
};


/**
 * 获取对应名称的cookie
 * @param name cookie的名称
 * @returns {null} 不存在时,返回null
 */
export const getCookie = function (name) {
  let arr;
  const reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  arr = document.cookie.match(reg);
  if (!!arr)
    return unescape(arr[2]);
  else
    return null;
};

/**
 * 删除cookie
 * @param name cookie的名称
 */
export const delCookie = function (name) {
  setCookie(name, ' ', -1);
};