zoukankan      html  css  js  c++  java
  • js实用方法记录-简单cookie操作

    js实用方法记录-简单cookie操作

    设置cookie:setCookie(名称,值,保存时间,保存域);
    获取cookie:setCookie(名称);
    移除cookie:setCookie(名称,值,-1,保存域);

    设置cookie

    测试代码:setCookie('test','hello') //保存session级的cookie到根域
    测试代码:setCookie('test','hello',30,false) //保存30天且保存到当前全域名

    /**
     * 设置cookie
     * @param {string} name cookie名称
     * @param {string} value cookie值
     * @param {number}[expiredays=null] 过期时间 默认session级别 <=0移除cookie
     * @param {bool}[saveRoot=true] 保存的域 默认根域
     */
    function setCookie(name, value, expiredays=null,saveRoot=false) {
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + expiredays)
        var cookie = name + "=" + value + ';path=/' + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
        if(saveRoot){
        //适用于一级,二级,本地域名
          var domain =((location.host.match(/d{1,3}.d{1,3}.d{1,3}.d{1,3}/g) || location.hostname=='localhost')? location.hostname:('.' + (location.host.split('.')[2]!=undefined?(location.host.split('.')[1]+'.'+location.host.split('.')[2]):location.host)));
          cookie+=(';domain='+domain);
        }
        document.cookie = cookie;
    }
    

    获取cookie

    测试代码: getCookie('test')=='hello'

    /**
     * 获取cookie
     * @param {string} name cookie名称
     */
    function getCookie(name) {
        var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
        if (arr = document.cookie.match(reg))
          return unescape(arr[2]);
        else
          return null;
    }
    
    
  • 相关阅读:
    致虚极守静笃
    DNS 透明代理
    Java“禁止”泛型数组
    Java和C#语法对比
    JVM 内存区域 (运行时数据区域)
    Java8 使用
    G1收集器的收集原理
    BZOJ 2222: [Cqoi2006]猜数游戏【神奇的做法,傻逼题,猜结论】
    数据结构之网络流入门(Network Flow)简单小节
    BZOJ 1257: [CQOI2007]余数之和sum【神奇的做法,思维题】
  • 原文地址:https://www.cnblogs.com/morang/p/web-js-cookie-func.html
Copyright © 2011-2022 走看看