旧项目重构,登录页验证码倒计时,是刷新保存的,研究发现是将数据存在了cookie中,于是研究了一下cookie的用法。并封装了一下。也是借鉴学习了很多网上的写法,再次做个总结记录。
//获取cookie
export function getCookie(name){
// 注意是 "; " 而不是";" 多一个空格的才行!!!!
let cookieArr = document.cookie.split("; ");
//使用filter筛选
let targetElement = cookieArr.filter((item)=>{ //返回的是数组
return item.split("=")[0] == name;
})
return targetElement.length>0 ? targetElement[0].split("=")[1] : "";
//使用foreach
// let temp = "";
// cookieArr.forEach(element => {
// let item = element.split("=");
// if( item[0] == name){
// temp = item[1];
// }
// });
// return temp;
//使用for循环
// for (let index = 0; index < cookieArr.length; index++) {
// const element = cookieArr[index].split("=");
// if(element[0] == name){
// return element[1];
// }
// }
//使用正则表达式匹配
// var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
// if(arr != null) return (arr[2]);
// return null;
}
//设置cookie
export function setCookie(name,value,expires){
let exp = new Date();
exp.setTime(exp.getTime() + expires*3600*1000);
document.cookie = `${name}=${value};expires=${exp.toGMTString()};`
}
//删除cookie
export function delCookie(name){
// setCookie(name, "", -1);
let exp = new Date();
exp.setTime(exp.getTime() - 1);
document.cookie = `${name}="";expires=${exp.toGMTString()};`
}