cookie
1.cookie的概念
用于储存页面的用户信息 :记住用户名, 保存保存用户登录的状态
2.特征
- 同一个网站共享一套cookie
2.大小有限, 一般都是4kb, 只能存文本
3.必须要通过本地服务器来预览. 不能以file的形式
4.分为临时cookie和设置过期时间的cookie
3.基本语法
存在文档里
document.cookie = "key=value" //临时cookie
document.cookie = "username=张三; expires = 到期时间"; //含有过期时间的cookie
4.封装函数
1.存cookie
function setCookie(name, value, time) {
var today = new Date();
today.setDate(today.getDate() + time);
document.cookie = name+"="+value+"; expires =" + today;
}
2.封装取单个cookie
function getCookie(name) {
//1.判断用户是否首次进入, 是则返回空字符串
if(document.cookie.length){
//2.获取name开始的位置
var start = document.cookie.indexOf(name+"=");
//3.值开始的地方
start = start + name.length +1;
//4.值结束的地方
var end = document.cookie.indexOf(';', start);
//因为最后一个项没有分号
if (end == -1){
//当前的end就是cookie的长度
end = document.cookie.length;
}
return document.cookie.substring(start, end);
}else {
//首次进入
return "";
}
}
3.读取多个cookie
//封装读取单个cookie
function getCookie(name) {
//1.判断用户是否首次进入, 是则返回空字符串
if(document.cookie.length){
//2.获取name开始的位置
var start = document.cookie.indexOf(name+"=");
//3.值开始的地方
start = start + name.length +1;
//4.值结束的地方
var end = document.cookie.indexOf(';', start);
//因为最后一个项没有分号
if (end == -1){
//当前的end就是cookie的长度
end = document.cookie.length;
}
return document.cookie.substring(start, end);
}else {
//首次进入
return "";
}
}
//封装读取多个cookie
function getCookies(nameArr){
if(nameArr.length){
var values = [];
for(var i = 0 ; i < nameArr.length ; i++){
var value = getCookie(nameArr[i]);
values.push(value);
}
return values;
}
}
substring(a,b) 提取字符串中两个指定的索引号之间的字符。
string.indexOf(searchvalue,start)/如果为-1代表没有检索到该字符串
searchvalue 必需。规定需检索的字符串值。
start 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。
4.删除cookie
function removeCookie(name) {
//将过期时间设置为过去的时间
setCookie(name, '',-1);
}