//设置cookie
function setCookie(name,value,expiredays){
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
//获取cookie
function getCookie(name){//
if (document.cookie.length>0){
c_start=document.cookie.indexOf(name + "=");//查询cookie键名
if (c_start!=-1){ //查询到cookie键名
c_start=c_start + name.length+1;//查询到cookie键名
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length//如果只有一个cookie键值对,该方法才有效;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
//删除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();
}
实例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>cookie</title>
<style type="text/css">
*{margin:0;padding:0;}
div{height:30px;}
</style>
<script type="text/javas
function setCookie(name,value,expiredays){//设置cookie
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function getCookie(name){//获取cookie
if (document.cookie.length>0){
c_start=document.cookie.indexOf(name + "=");//查询cookie键名
if (c_start!=-1){ //查询到cookie键名
c_start=c_start + name.length+1;//查询到cookie键名
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length//如果只有一个cookie键值对,该方法才有效;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
function delCookie(name){//删除cookie
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
function delAllCookie(){//遍历所有Cookie并删除
var strCookie=document.cookie;
var arrCookie=strCookie.split("; "); // 将多cookie切割为多个名/值对
for(var i=0;i<arrCookie.length;i++){ // 遍历cookie数组,处理每个cookie对
var arr=arrCookie[i].split("=");
if(arr.length>0)
delCookie(arr[0]);
}
}
</script>
</head>
<body>
<div></div>
<div on
">设定a-cookie</div>
<div on
<div on
">设定b-cookie</div>
<div on
<div on
<div on
<div on
<div on
</body>
</html>
多个连续cookie之间的分隔;
我们在分别设置不同名称的cookie时,浏览器默认会将cookie接成字符串,但字符串之间会自动添加”; ”一个分号和空格以示分割。所以当我们输出cookie的字符串长度属性时,发现浏览器输出数据会比我们设置的cookie值多出几个长度。
本文转载自:http://wu110cheng.blog.163.com/blog/static/133349654201383115442401/