24-第二十四章 cookie

cookie
cookie : 存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来向访问者电脑上存储数据

1.不同的浏览器存放的cookie位置不一样,也是不能通用的
2.cookie的存储是以域名形式进行区分的
3.cookie的数据可以设置名字的
4.一个域名下存放的cookie的个数是有限制的,不同的浏览器存放的个数不一样
5.每个cookie存放的内容大小也是有限制的,不同的浏览器存放大小不一样

1、访问cookie
要在服务器环境下

我们通过document.cookie来获取当前网站下的cookie的时候,得到的字符串形式的值,他包含了当前网站下所有的cookie。他会把所有的cookie通过一个分号+空格的形式串联起来

1.consol.log( document.cookie );
2.存储cookie
1.document.cookie = '数据名=值';
3.设置cookie过期时间
cookie默认是临时存储的,当浏览器关闭进程的时候自动销毁 ,如果我们想长时间存放一个cookie。需要在设置这个cookie的时候同时给他设置一个过期的时间

过期时间必须是一个日期对象转换成的字符串(时间戳.toGMTString())
document.cookie = ‘数据名=值; expires=过期时间’;

2.var oDate = new Date();
3.oDate.setDate( oDate.getDate() + 5);

5.oDate.toGMTString();//转换为日期字符串
6.document.cookie='age=20; expires='+oDate;

9./*-- document.cookie='sex=man\n你好'; */
10.//转码
11.var content= encodeURI('man\n你好');
12.document.cookie='sex='+content+';expires='+oDate;
要找到对应的数据值,可以使用多种方式,比如正则:案例1

4.cookie封装
设置cookie封装

  1. function setCookie(obj,time){
  2.   for(key in obj){
    
  3.       var d = new Date();
    
  4.       d.setDate( d.getDate()+time );
    
  5.       document.cookie = key+'='+obj[key]+'; expires='+d.toUTCString();
    
  6.   }
    
  7. }

1.setCookie({

  1.        name:'hello',
    
  2.        sex:'man',
    
  3.        love:'逛街',
    
  4.        work:'future'
    
  5.    },5);
    

获取cookie封装
1.function getCookie(obj){

  1.        var cookie = document.cookie;
    
  2.        // name=hello;
    
  3.        var result = {};
    
  4.        for(key in arguments){
    
  5.            var val = '\\b'+arguments[key]+'=(\\w*)+';
    
  6.            var reg =new RegExp(val,'i');
    
  7.            val = reg.exec(cookie);
    
  8.            result[arguments[key]] = val? decodeURI(val[1]):null;
    
  9.        }
    
  10.        return result;
    
  11.    }
    
  12. console.log( getCookie('age','name') );
    移除cookie
    1.function removeCookie(){
  13.        for(key in arguments){
    
  14.            var json ={};
    
  15.            json[arguments[key]]=null;
    
  16.            setCookie(json,-1);
    
  17.        }
    
  18.    }
    
  19. removeCookie('name');

你可能感兴趣的:(24-第二十四章 cookie)