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
>
|