JS实现cookie
cookie与session相似,但是cookie可以设置过期时间。cookie的使用:设置、获取、删除
cookie的封装
//封装获取cookie
function getCookie(name) {
var arr,
reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if ((arr = document.cookie.match(reg))) return unescape(arr[2]);
else return null;
}
//封装设置cookie
//设置为默认时间
// function setCookie(name, value) {
// var exp = new Date();
// document.cookie =
// name + "=" + escape(value) + ";expires=" + exp.toGMTString();
// }
//设置自定义时间
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;
}
}
//封装删除cookie
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();
}
cookie的使用示例
//设置cookie d 代表天 ; h 代表小时 ; s 代表秒;
setCookie("name", "zhangsan","d999")
//获取cookie
getCookie("name")
//删除cookie
delCookie("name")