cookie 操作

前端原生js用cookie保存用户的信息

1、对cookie的基础操作,首先是建立cookie

function setCookie(name,value){
    var days = 30;//设置cookie过期日期
    var data = new Date();
    data.setTime(data.getTime() + Days*24*60*1000);
    document.cookie = name + "=" + escape(value) +";expires=" + data.toGMTString();
}

2、读取出cookie的数据

function getCookie(name){
    var arr,reg = new RegEp("(^| )"+ name + "=([^;]*)(;|$)");
    if(arr = document.cookie.match(reg)){
        return unescape(arr[2]);
    }else {
        return null;
    }
}

3、删除指定cookie数据

function delCookie(name){
    var data = new Date();
    data.setTime(data.getTime() - 1);
    if(getCookie(name) != null){//利用写好的函数取cookie的值判断是否存在该数据
        document.cookie = name + "=;expires=" + data.toGMTString();//等于空
    }
}

4、删除所有的cookie

function delAllCookie(){
    var data = new Date();
    data.setTime(data.getTime()-100000);
    var keys = document.cookie.match(/[^ =;]+(?=\=)/g);
    if(keys){
        for(var i = keys.length;i--){
            document.cookie=keys[i]+"=0; expire="+date.toGMTString();//注意要加路径时+"; path=/"这个路径要和存cookie的路径一致,否则删除cookie会出问题
        }
    }
}

5、对cookie的路径理解
.创建一个cookie并设置 cookie的有效路径:
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });

注:在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设
置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这
个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突) 

6、判断是否存有cookie的方法二
var cookie = document.cookie.indexOf("userName=");
if (cookie == -1){
  popup(" 当前状态未登录!");
}else {

}

你可能感兴趣的:(前端)