js 操作cookie

设置cookie:

  document.cookie="id=1;name=qing";

  document.addCookie("id=1");

  在cookie名、值中不可出现 ; , = 及空格,一般通过escape函数进行编码,取出时使用unescape还原。

  document.cookie="name="+escape("tmp_name");

获取cookie:

  (1)拆分cookie

  function getCookie(username){

    var cookie_arr=document.cookie.split(";");

    if(!cookie_arr.length){return "";}

    var tmp_arr["",""];

    for(var i=0; i<cookie_arr.length; i++){

      tmp_arr=cookie_arr[i].split("=");

      if(tmp_arr[0]==username){

        break;

      }

      return tmp_arr[1];

    }

  (2)截取字符串

  function getCookie(username){

    var start=document.cookie.indexof(username+"=");

    if(start=-1){return "";}

    start=start+username.length+1;

    var end =document.cookie.indexof(";",start);

    if(end=-1){end=document.cookie.length;}

    return document.cookie.substring(start,end);

  }

  (3)正则表达式解析

   function getCookie(cookieName) {

    var re = new RegExp("\\b"+cookieName+"=([^;]*)\\b");

    var arr =  re.exec(document.cookie);

    return arr?arr[1]:"";

  }

    

给cookie设置终止日期

  var date= new Date();

  var expiresDay = 1;

  date.setTime(date.getTime()+expiresDay*24*60*60*1000);

  document.cookie="id=1;expires="+date.toGTMString();

  删除cookie只需将其时间设在过去。

 

完整示例

 

setCookie函数
function setCookie(name,value,expires,domain,secure) {
var str = name+"="+encodeURI(value);//不要忘了在对应getCookie函数里面加上decodeURI方法
if (expires) {
str += "; expires="+expires.toGMTString();
}
if (path) {
str += "; path="+path;
}
if (domain) {
str += "; domain="+domain;
}
if (secure) {
str += "; secure";
}
document.cookie = str;
}
删除Cookie
没有删除Cookie的直接的方法,但可以变通一下来删除Cookie!
function delCookie(cookieName) {
var expires = new Date();
expires.setTime(expires.getTime()-1);//将expires设为一个过去的日期,浏览器会自动删除它
document.cookie = cookieName+"=; expires="+expires.toGMTString();
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。