1
<script language="JScript">
2
function Cookie(delim){
3
this._Cookie=[];
4
this.Load=function(){
5
if(document.cookie.indexOf(";")!=-1){
6
var _sp,_name,_tp,_tars,_tarslength;
7
var _item=document.cookie.split("; ");
8
var _itemlength=_item.length;
9
while(_itemlength>0){
10
_sp=_item[--_itemlength].split("=");
11
_name=_sp[0];
12
_tp=_sp[1].split(",");
13
_tars=_tp.slice(1,_tp.length);
14
this._Cookie[_name]=[];
15
this._Cookie[_name]=_tars;
16
this._Cookie[_name]["timeout"]=_tp[0];
17
}
18
return true;
19
}
20
return false;
21
}
22
this.Save=function(){
23
var _str,_ars,_mars,_marslength,timeout,i,key;
24
for(key in this._Cookie){
25
if(!this._Cookie[key])return;
26
_str=[];
27
_mars=CookieClass._Cookie[key];
28
_marslength=_mars.length;
29
for(i=0;i<_marslength;i++)_str[_str.length]=escape(_mars[i]);
30
document.cookie=key+"="+_mars["timeout"]+(_str.length>0?",":"")+_str+(_mars["timeout"]==0?"":";expires="+new Date(parseInt(_mars["timeout"])).toGMTString());
31
}
32
33
}
34
this.GetCookieCount=function(){
35
var _length=0,key;
36
for(key in this._Cookie)_length++;
37
return _length;
38
}
39
this.Create=function(name,days){
40
days=days?days:0;
41
if(!this._Cookie[name])this._Cookie[name]=[];
42
this._Cookie[name]["timeout"]=days!=0?new Date().getTime()+parseInt(days)*86400000:0;
43
}
44
this.Modify=function(name,days){
45
this.Create(name,days);
46
}
47
this.GetTime=function(name){
48
return new Date(parseInt(this._Cookie[name]["timeout"]));
49
}
50
this.Delete=function(name){
51
this.Create(name,0);
52
}
53
this.AddItem=function(name,value){
54
this._Cookie[name][this._Cookie[name].length]=value;
55
}
56
this.DelItem=function(name,index){
57
var _ttime=this._Cookie[name]["timeout"];
58
this._Cookie[name]=this._Cookie[name].slice(0,index).concat(this._Cookie[name].slice(parseInt(index)+1,this._Cookie[name].length));
59
this._Cookie[name]["timeout"]=_ttime;
60
}
61
this.GetCount=function(name){
62
return this._Cookie[name].length;
63
}
64
this.GetItem=function(name,index){
65
return this._Cookie[name][index];
66
}
67
}
68
</script>
69
<script language="JScript">
70
var CookieClass=new Cookie();
71
if(!CookieClass.Load()){
72
CookieClass.Create("Pass",1);
73
CookieClass.AddItem("Pass","Ps1");
74
CookieClass.AddItem("Pass","Ps2");
75
CookieClass.AddItem("Pass","Ps3");
76
CookieClass.AddItem("Pass","Ps4");
77
CookieClass.DelItem("Pass",1);
78
CookieClass.Save();
79
}
80
alert("Cookie过期时间:"+CookieClass.GetTime("Pass").toLocaleString());
81
alert(document.cookie);
82
</script>
83
<script>
84
function eyunCookie()
85
{this.key="";//初始化key。
86
this.value="";//初始化key's value。
87
this.expires=0;//初始化cookie的有效时间,单位毫秒。
88
this.init=function()//对象初始化
89
{this.key="";
90
this.value="";
91
this.expires=0;
92
}
93
this.set=function(key,value,expires)//设置cookie
94
{if(this.key=="")this.key=key;
95
if(this.value=="")this.value=value;
96
if(this.expires<=0)this.expires=expires;
97
if(this.key==""||typeof(this.key)!="string")
98
{alert("请先设置欲保存的cookie名称!");
99
this.init();
100
return false;
101
}
102
if(this.key.match(/[,; ]/))
103
{alert("cookie名称中不能包含“,”、“;”或空格!");
104
this.init();
105
return false;
106
}
107
if(this.value.toString().match(/[,; ]/)||typeof(this.value)=="undefined")
108
{alert("cookie值中不能包含“,”、“;”或空格!");
109
this.init();
110
return false;
111
}
112
if(this.expires<=0||typeof(this.expires)!="number")
113
{alert("请先正确设置cookie的有效时间!");
114
this.init();
115
return false;
116
}
117
var cookie=document.cookie;
118
if(cookie.indexOf(this.key+"=")!=-1)
119
{if(!confirm("欲保存的cookie名称已经存在,是否要进行替换?"))
120
{this.init();
121
return false;
122
}
123
}
124
var dt=new Date();
125
dt.setTime(dt.getTime()+this.expires);
126
document.cookie=this.key+"="+this.value+";expires="+dt.toGMTString();
127
this.init();
128
return true;
129
}
130
this.get=function(key)//取得名为key的cookie的值
131
{if(key==""||key.match(/[,; ]/))
132
{alert("请正确设置欲查找的cookie名称!")
133
return false;
134
}
135
var cookie=document.cookie;
136
var start=cookie.indexOf(key+"=");
137
if(start==-1)
138
{alert("欲查找的cookie不存在!")
139
return false;
140
}
141
var end=cookie.indexOf(";",start);
142
if(end==-1)
143
end=cookie.length;
144
var getCookie=cookie.substring(start+key.length+1,end);
145
alert("cookie:"+key+"的值为"+getCookie);
146
return getCookie;
147
}
148
this.showAll=function(){alert("共有以下cookie对:\n"+document.cookie.split(";").toString().replace(/,/g,"\n"));}//显示所有cookie
149
this.del=function(key)//删除名为key的cookie
150
{if(key==""||key.match(/[,; ]/))
151
{alert("请正确设置欲删除的cookie名称!")
152
return false;
153
}
154
var dt=new Date();
155
dt.setTime(dt.getTime());
156
document.cookie=key+"=eyunDelete;expires="+dt.toGMTString();
157
this.init();
158
return true;
159
}
160
this.destroy=function()//销毁所有cookie
161
{var dt=new Date();
162
dt.setTime(dt.getTime());
163
while(document.cookie!="")
164
document.cookie=document.cookie+";expires="+dt.toGMTString();
165
this.init();
166
return true
167
}
168
}
169
var cookieTest=new eyunCookie()
170
function settest()
171
{cookieTest.key="test"
172
cookieTest.value="ok"
173
cookieTest.expires=31536000000
174
cookieTest.set()
175
}
176
</script>
177
<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>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
