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