美文网首页
前端 设置cookie、获取cookie、删除cookie

前端 设置cookie、获取cookie、删除cookie

作者: KK_boy | 来源:发表于2019-08-16 18:58 被阅读0次

    cookie是一个个键值对(“键=值”的形式)加上分号空格隔开组合而成, 形如: "name1=value1; name2=value2; name3=value3"

    /**
    * 获取对应名称的cookie
    * @param name cookie的名称
    * @returns {null} 不存在时,返回null
    */
    const getCookie = (name) => {
      const reg = new RegExp(`(^| )${name}=([^;]*)(;|$)`);
      const arr = document.cookie.match(reg);
      if (arr) {
        return unescape(arr[2]);
      }
    
      return null;
    };
    
    
    /**
    * 设置cookie
    * @param name cookie的名称
    * @param value cookie的值
    * @param day cookie的过期时间
    */
    const setCookie = (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的名称
    */
    const delCookie = (name) => {
      setCookie(name, ' ', -1);
    };
    
    export {
      getCookie,
      setCookie,
      delCookie,
    };
    

    参考

    相关文章

      网友评论

          本文标题:前端 设置cookie、获取cookie、删除cookie

          本文链接:https://www.haomeiwen.com/subject/dzoqsctx.html