设置cookie值(key,value,过期天数,域名)functionsetCookie(cookieName, cookieValue, expire

来源:互联网 发布:arp通过ip获取mac 编辑:程序博客网 时间:2024/06/02 02:43

浏览器中,使用JavaScript操作cookie的两个工具函数。

设置cookie值, 必须的参数是name和value,可选参数是过期天数和域名

// 设置cookie值(key,value,过期天数,域名)functionsetCookie(cookieName, cookieValue, expiredays, domain){// 0 比较特殊if(0 === cookieValue){        cookieValue = 0;    } elseif(!cookieValue){        cookieValue = "";    }    // 编码    cookieValue = encodeURIComponent(cookieValue);    //获取cookie字符串var cookieStr= cookieName + "=" + cookieValue;    // 过期时间if(expiredays && !isNaN(expiredays)){        var exdate=newDate();        exdate.setDate(exdate.getDate()+expiredays);        cookieStr += "; expires="+exdate.toGMTString();    }    // 域名//domain = domain || document.domain;if(domain){        cookieStr += "; path=" + "/";        cookieStr += "; domain="+domain;    }    // 保存本地 cookie    document.cookie = cookieStr;    // 返回设置后的值return cookieValue;};

获取cookie值,只需要一个name,过期时间和域名浏览器会自己管理,有效的cookie也只能获取到名称和值。
// 获取cookie值(key)functiongetCookie(cookieName){//获取cookie字符串var strCookie=document.cookie;    //将多cookie切割为多个名/值对var arrCookie=strCookie.split("; ");    var cookieValue = null;    //遍历cookie数组,处理每个cookie对for(var i=0;i<arrCookie.length;i++){        var arr=arrCookie[i].split("=");        //找到cookie,并返回它的值if(cookieName==arr[0]){            cookieValue=unescape(arr[1]);            break;        }    }    //if(!cookieValue){        cookieValue = "";    }    cookieValue = decodeURIComponent(cookieValue);    //return cookieValue;};
如果要删除一个cookie要怎么做?JS是没有这个API的,根据上面我们学到的知识,过期的cookie就相当于被删除了。 
示例如下
setCookie("user", "renfufei");//"renfufei"getCookie("user");//"renfufei"setCookie("user", "renfufei", -1);//"renfufei"getCookie("user");//""

0 0
原创粉丝点击