(1)设置cookie:
document.cookie="id=1;name=qing";
document.addCookie("id=1");
在cookie名、值中不可出现 ; , = 及空格,一般通过escape函数进行编码,取出时使用unescape还原。
document.cookie="name="+escape("tmp_name");
(2)获取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];
}
function GetCookie(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg) return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1) endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
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]:"";
}
(3)给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只需将其时间设在过去。
(4)完整示例
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();
}