JavaScript读写COOKIES

function setCookie(name,value)
{
var Days = 30;
var exp = new Date(); 
exp.setTime(exp.getTime() 
+ Days*24*60*60*1000);
document.cookie 
= name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

//读取cookies
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg)) return unescape(arr[2]);
else return null;
}

//删除cookies
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() 
- 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
//使用示例
setCookie("name","hayden");
alert(getCookie(
"name"));

如果需要设定自定义过期时间
那么把上面的setCookie 函数换成下面两个函数就ok;

function setCookie(name,value,time){
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() 
+ strsec*1);
document.cookie 
= name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

function getsec(str){
    alert(str);
    
var str1=str.substring(1,str.length)*1
    
var str2=str.substring(0,1); 
    
if (str2=="s"){
    
return str1*1000;
    }
else if (str2=="h"){
    
return str1*60*60*1000;
    }
else if (str2=="d"){
    
return str1*24*60*60*1000;
    }

}

//这是有设定过期时间的使用示例:
//
s20是代表20秒
//
h是指小时,如12小时则是:h12
//
d是天数,30天则:d30
//
暂时只写了这三种,不知道谁有更好的方法,呵呵
setCookie("name","hayden","s20");
posted @ 2008-03-18 15:06  Frank.Chen  阅读(132)  评论(0)    收藏  举报