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

    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")); 
     
    分类: JavaScript
  • 相关阅读:
    [转][Navicat for MySQL系列]Navicat如何使用(二)
    [转]Syntax error on token "Invalid Character", delete this token 的解决
    [转] valuestack,stackContext,ActionContext.之间的关系
    [转]jquery后代和子元素的区别
    python中模块、包、库的区别和使用
    python函数对象
    list深拷贝和浅拷贝
    json中load和loads区别
    变量作用域
    正则里的.*和.*?区别
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/4345116.html
Copyright © 2011-2022 走看看