转自:
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 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 >
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 >