zoukankan      html  css  js  c++  java
  • JS读写Cookie(设置、读取、删除)

    Cookie是客户端存放数据的一种方式,可用来做状态保持。

    1.设置Cookie:

    a.无过期时间:(若不设置过期时间,默认为会话级Cookie,浏览器关闭就会失效)

    function setCookie(name,value) {
        document.cookie = name + '=' + escape(value);
    }

    b.固定过期时间:

    function setCookie(name,value)
    {
        var Days = 30;
        var exp = new Date();
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    } 

    c.自定义过期时间:

    //设置自定义过期时间cookie
    function setCookie(name,value,time)
    {
        var msec = getMsec(time); //获取毫秒
        var exp = new Date();
        exp.setTime(exp.getTime() + msec*1);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }
    
    //将字符串时间转换为毫秒,1秒=1000毫秒
    function getMsec(DateStr)
    {
       var timeNum=str.substring(0,str.length-1)*1; //时间数量
       var timeStr=str.substring(str.length-1,str.length); //时间单位前缀,如h表示小时
       
       if (timeStr=="s") //20s表示20秒
       {
            return timeNum*1000;
       }
       else if (timeStr=="h") //12h表示12小时
       {
           return timeNum*60*60*1000;
       }
       else if (timeStr=="d")
       {
           return timeNum*24*60*60*1000; //30d表示30天
       }
    }

    2.读取Cookie:

    function getCookie(name)
    {
        var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); //正则匹配
        if(arr=document.cookie.match(reg)){
          return unescape(arr[2]);
        }
        else{
         return null;
        }
    } 

    3.删除Cookie:

    function delCookie(name)
    {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval=getCookie(name);
        if(cval!=null){
          document.cookie= name + "="+cval+";expires="+exp.toGMTString();
        }
    } 

    4.调用示例:

    setCookie("name","hayden");
    alert(getCookie("name")); 
  • 相关阅读:
    luoguP5024 保卫王国 动态dp
    luoguP4571 [JSOI2009]瓶子和燃料 裴蜀定理
    luoguP3235 [HNOI2014]江南乐 数论分块 + 博弈论
    luoguP4101 [HEOI2014]人人尽说江南好 结论
    hdu 3032 NIm or not Nim? Multi SG
    luoguP4279 [SHOI2008]小约翰的游戏 Anti-SG 博弈论
    luoguP3480 [POI2009]KAM-Pebbles 阶梯Nim
    Educational Codeforces Round 65 (Div. 2)
    [PKUSC2018]主斗地(搜索+贪心)
    Codeforces Round #557 (Div. 1)
  • 原文地址:https://www.cnblogs.com/zxx193/p/4345085.html
Copyright © 2011-2022 走看看