中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > 综合其它
JS写的cookie类
作者:未知 时间:2005-07-27 23:18 出处:CSDN 责编:chinaitpower
              摘要:JS写的cookie类
转自:http://download.cnblogs.com/webcool/
<script language="JScript">
function Cookie(delim){
    
this._Cookie=[];
    
this.Load=function(){
        
if(document.cookie.indexOf(";")!=-1){
            
var _sp,_name,_tp,_tars,_tarslength;
            
var _item=document.cookie.split("");
            
var _itemlength=_item.length;
            
while(_itemlength>0){
                _sp
=_item[--_itemlength].split("=");
                _name
=_sp[0];
                _tp
=_sp[1].split(",");
                _tars
=_tp.slice(1,_tp.length);
                
this._Cookie[_name]=[];
                
this._Cookie[_name]=_tars;
                
this._Cookie[_name]["timeout"]=_tp[0];
                }
            
return true;
            }
        
return false;
        }
    
this.Save=function(){
        
var _str,_ars,_mars,_marslength,timeout,i,key;
        
for(key in this._Cookie){
            
if(!this._Cookie[key])return;
            _str
=[];
            _mars
=CookieClass._Cookie[key];
            _marslength
=_mars.length;
            
for(i=0;i<_marslength;i++)_str[_str.length]=escape(_mars[i]);
            document.cookie
=key+"="+_mars["timeout"]+(_str.length>0?",":"")+_str+(_mars["timeout"]==0?"":";expires="+new Date(parseInt(_mars["timeout"])).toGMTString());
            }
        
        }
    
this.GetCookieCount=function(){
        
var _length=0,key;
        
for(key in this._Cookie)_length++;
        
return _length;
        }
    
this.Create=function(name,days){
        days
=days?days:0;
        
if(!this._Cookie[name])this._Cookie[name]=[];
        
this._Cookie[name]["timeout"]=days!=0?new Date().getTime()+parseInt(days)*86400000:0;
        }
    
this.Modify=function(name,days){
        
this.Create(name,days);
        }
    
this.GetTime=function(name){
        
return new Date(parseInt(this._Cookie[name]["timeout"]));
        }
    
this.Delete=function(name){
        
this.Create(name,0);
        }
    
this.AddItem=function(name,value){
        
this._Cookie[name][this._Cookie[name].length]=value;
        }
    
this.DelItem=function(name,index){
        
var _ttime=this._Cookie[name]["timeout"];
        
this._Cookie[name]=this._Cookie[name].slice(0,index).concat(this._Cookie[name].slice(parseInt(index)+1,this._Cookie[name].length));
        
this._Cookie[name]["timeout"]=_ttime;
        }
    
this.GetCount=function(name){
        
return this._Cookie[name].length;
        }
    
this.GetItem=function(name,index){
        
return this._Cookie[name][index];
        }
    }
</script>
<script language="JScript">
var CookieClass=new Cookie();
if(!CookieClass.Load()){
    CookieClass.Create(
"Pass",1);
    CookieClass.AddItem(
"Pass","Ps1");
    CookieClass.AddItem(
"Pass","Ps2");
    CookieClass.AddItem(
"Pass","Ps3");
    CookieClass.AddItem(
"Pass","Ps4");
    CookieClass.DelItem(
"Pass",1);
    CookieClass.Save();
    }
alert(
"Cookie过期时间:"+CookieClass.GetTime("Pass").toLocaleString());
alert(document.cookie);
</script>
    <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>

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有