js版本
var cookie = {
//根据key值获取对应的cookie
get:function(key){
//获取cookie
var data = document.cookie;
//获取key第一次出现的位置 pwd=
var startIndex = data.indexOf(key + '=');
// name=123;pwd=abc
//如果开始索引值大于0表示有cookie
if(startIndex > -1) {
//key的起始位置等于出现的位置加key的长度+ 1
startIndex = startIndex + key.length + 1;
//结束位置等于从key开始的位置之后第一次;号所出现的位置
var endIndex = data.indexOf(';',startIndex);
//如果未找到结尾位置则结尾位置等于cookie长度,之后的内容全部获取
endIndex = endIndex < 0 ? data.length : endIndex;
return decodeURIComponent(data.substring(startIndex,endIndex));
}else {
return '';
}
},
set:function(key,value,time){
//默认保存时间
var time = time;
//获取当前时间
var cur = new Date();
var undefined;
//设置指定时间
cur.setTime(cur.getTime() + time*24*3600*1000);
//创建cookie 并且设置生存周期为GMT时间
document.cookie = key + '=' + encodeURIComponent(value)+ ';expires = ' + (time===undefined ? '' : cur.toGMTString());
},
del:function(key){
//获取cookie
var data = this.get(key);
//如果获取到cookie则重新设置cookie的生存周期为过去时间
if(data!==false){
this.set(key,data,-1);
}
}
};
//或者
//添加cookies
function setCookie(name, value) {
var days = 1;
var exp = new Date();
exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);
document.cookie = name + '=' + encodeURI(value) + ';expires=' + exp.toUTCString();
}
//读取cookies
function getCookie(name) {
var arr, reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
if (arr = document.cookie.match(reg))
return decodeURI(arr[2]);
return null;
}
//删除cookies
function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (!!cval)
document.cookie = name + '=' + cval + ';expires=' + exp.toUTCString();
}
angualr版本
//写入cookies
public setCookie(name: string, value: string): void {
let Days = 1;
const exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + '=' + encodeURI(value) + ';expires=' + exp.toUTCString();
}
//读取cookies
public getCookie(name: string) {
let arr, reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
if (arr = document.cookie.match(reg))
return decodeURI(arr[2]);
else
return null;
}
//删除cookies
public delCookie(name: string) {
const exp = new Date();
exp.setTime(exp.getTime() - 1);
const cval = this.getCookie(name);
if (cval != null)
document.cookie = name + '=' + cval + ';expires=' + exp.toUTCString();
}
网友评论