Rumah  >  Artikel  >  hujung hadapan web  >  javascript操作Cookie(设置、读取、删除)方法详解_javascript技巧

javascript操作Cookie(设置、读取、删除)方法详解_javascript技巧

WBOY
WBOYasal
2016-05-16 16:09:01837semak imbas

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的全部内容了,希望能够对大家学习javascript有所帮助。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn