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

你可能感兴趣的:(cookie)