<script>
function eyunCookie()
  {
this.key="";//初始化key。
   this.value="";//初始化key's value。
   this.expires=0;//初始化cookie的有效时间,单位毫秒。
     this.init=function()//对象初始化
                 {this.key="";
                
this.value="";
                
this.expires=0;
                              }
   
this.set=function(key,value,expires)//设置cookie
              {if(this.key=="")this.key=key;
                             
if(this.value=="")this.value=value;
                             
if(this.expires<=0)this.expires=expires;
                             
if(this.key==""||typeof(this.key)!="string")
                 {alert(
"请先设置欲保存的cookie名称!");
                                  
this.init();
                  
return false;
                 }
               
if(this.key.match(/[,; ]/))
                 {alert(
"cookie名称中不能包含“,”、“;”或空格!");
                                  
this.init();
                  
return false;
                 }
               
if(this.value.toString().match(/[,; ]/)||typeof(this.value)=="undefined")
                 {alert(
"cookie值中不能包含“,”、“;”或空格!");
                                  
this.init();
                  
return false;
                 }
               
if(this.expires<=0||typeof(this.expires)!="number")
                 {alert(
"请先正确设置cookie的有效时间!");
                                  
this.init();
                  
return false;
                 }
               
var cookie=document.cookie;
               
if(cookie.indexOf(this.key+"=")!=-1)
                 {
if(!confirm("欲保存的cookie名称已经存在,是否要进行替换?"))
                                    {
this.init();
                                         
return false;
                                        }                    
                 }
               
var dt=new Date();
               dt.setTime(dt.getTime()
+this.expires);
                             document.cookie
=this.key+"="+this.value+";expires="+dt.toGMTString();
                             
this.init();
               
return true;
              }
   
this.get=function(key)//取得名为key的cookie的值
              {if(key==""||key.match(/[,; ]/))
                 {alert(
"请正确设置欲查找的cookie名称!")
                  
return false;
                 }
               
var cookie=document.cookie;
               
var start=cookie.indexOf(key+"=");
               
if(start==-1)
                 {alert(
"欲查找的cookie不存在!")
                  
return false;
                 }
               
var end=cookie.indexOf(";",start);
                             
if(end==-1)
                               end
=cookie.length;
               
var getCookie=cookie.substring(start+key.length+1,end);
               alert(
"cookie:"+key+"的值为"+getCookie);
               
return getCookie;
              }
   
this.showAll=function(){alert("共有以下cookie对:\n"+document.cookie.split(";").toString().replace(/,/g,"\n"));}//显示所有cookie
   this.del=function(key)//删除名为key的cookie
              {if(key==""||key.match(/[,; ]/))
                 {alert(
"请正确设置欲删除的cookie名称!")
                  
return false;
                 }
                             
var dt=new Date();
               dt.setTime(dt.getTime());
                             document.cookie
=key+"=eyunDelete;expires="+dt.toGMTString();
                             
this.init();
               
return true;
              }
   
this.destroy=function()//销毁所有cookie
                    {var dt=new Date();
                   dt.setTime(dt.getTime());
                                     
while(document.cookie!="")
                                       document.cookie
=document.cookie+";expires="+dt.toGMTString();
                                     
this.init();
                                     
return true
                                    }
  }
var cookieTest=new eyunCookie()
function settest()
{cookieTest.key
="test"
 cookieTest.value
="ok"
 cookieTest.expires
=31536000000
 cookieTest.set()
}
</script>
<input type=button onclick=cookieTest.showAll() value=read><input type=button onclick="cookieTest.set('a','test',31536000000)" value=setA><input type=button onclick="settest();" value=setTest><input type=button onclick="cookieTest.destroy()" value=clear><input type=button onclick=cookieTest.get("test") value=gettest><input type=button onclick=cookieTest.get("a") value=geta><input type=button onclick=cookieTest.set("test",1,31536000000) value=resetTest><input type=button onclick=cookieTest.del("test") value=delTest>
posted on 2005-02-24 12:58  dahai.net  阅读(393)  评论(0编辑  收藏  举报