让代码更简单

JavaScript操作cookie方法增删改查

重要:本文最后更新于2018-03-05 10:27:37,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗
cookie作为浏览器本地数据,是可以被JavaScript脚本调用的,下面是JavaScript操作cookie数据的基本方法增删改查。

需要三个参数,分别是cookie名称,cookie值,过期时间。

复制
function setCookie(c_name,value,expiredays)

{

var exdate=new Date()

exdate.setDate(exdate.getDate()+expiredays)

document.cookie=c_name+ "=" +encodeURI(value)+

((expiredays==null) ? "" : ";expires="+exdate.toGMTString())

}

cookie的删除有几种方式,比如调整过期时间,使cookie失效,重置cookie值等等。下面的方法需要传入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();

}

修改cookie的方法和设置cookie增加cookie的方法是一样的,当cookie不存在时浏览器会自动创建,如果存在就会自动更新对应的数据。

查询cookie需要传入需要查询的cookie键名,返回cookie的值。如果不存在将会返回空。对这个方法返回值进行判断,将能很好的实现检查cookie是否存在的功能。

复制
function getCookie(c_name)

{

if (document.cookie.length>0)

  {

  c_start=document.cookie.indexOf(c_name + "=")

  if (c_start!=-1)

    { 

    c_start=c_start + c_name.length+1 

    c_end=document.cookie.indexOf(";",c_start)

    if (c_end==-1) c_end=document.cookie.length

    return decodeURIComponent(document.cookie.substring(c_start,c_end))

    } 

  }

return ""

}
 这里我使用了decodeURIComponent方法对cookie值进行了url解码,使用unescape方式解码如果后台是PHP那么将出现中文乱码,实测WordPress使用该方法出现中文乱码,故改此方法!

感觉很棒!可以赞赏支持我哟~

1 打赏

评论 (3)

登录后评论
Cookie 确实有很多优点
Cookie 是个好东西。
是的呢,没有它很多功能都实现不了。
QQ咨询 邮件咨询 狗哥推荐