工作中写
js的量大了,经常要用到
cookies读写的功能,然后去百度一下,这次要改革了,记在博客上,也方便日后使用了~
在网上也查到了一个关于 js操作 cookies的类,不过使用起来虽方便,只是代码太长,也增加了很多不常用到的功能,在一些小地方使用那个类也有些“杀牛用鸡刀”了
下面这段代码就方便多了,只有三段,而经常在使用中,可能那个 delCookie 函数都不需要用~
在网上也查到了一个关于 js操作 cookies的类,不过使用起来虽方便,只是代码太长,也增加了很多不常用到的功能,在一些小地方使用那个类也有些“杀牛用鸡刀”了
下面这段代码就方便多了,只有三段,而经常在使用中,可能那个 delCookie 函数都不需要用~
//
写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 " ));
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 " );
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 " );