原生js--cookie

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生js--cookie相关的知识,希望对你有一定的参考价值。

 

原文:http://www.cnblogs.com/yufann/p/JS-Cookie.html

原生JS--COOKIE:

COOKIE基础及应用:
1.什么是COOKIE==>页面用来保存信息,比如:自动登录,记住用户名
2.COOKIE的特性:
  --同一个网站中,所有的页面共享同一套cookie
  --数量,大小有限(4k-10k,不能用来存大的内容)
  --过期时间


3.设置cookie:(本地下测试cookie要在FF下面测试,IE,Chrom会把cookie去掉);
  --格式:名字=值(多条数据通过‘; ‘(即分号和空格) 来分开)
  --不会覆盖document.cookie="user=yufan";document.cookie="pass=123456";
  --过期时间:expires=时间
  --COOKIE与日期对象共同使用,设置过期时间
    var oDate=new Date();
    oDate.setDate(oDate.getDate()+14);    //设置获取的日期,并不是系统日期
    document.cookie="user=yufan; expires="+oDate; //这样设置的这个cookie将在14天后过期


4.将设置cookie封装成一个函数:
    function setCookie(name,value,myDay){
      var oDate=new Date();
      oDate.setDate(oDate.getDate()+myDay);
      document.cookie=name+‘=‘+value+‘; expires=‘+oDate;
    }
    setCookie(‘username‘,‘yufan‘,25);
    setCookie(‘pass‘,‘123456‘,14);


5.读取cookie:对获取的document.cookie进行字符串分割
  读取cookie封装成一个函数:
    function getCookie(name){
      //document.cookie获取当前网站的所有cookie
      var arr=document.cookie.split(‘; ‘);
      for(var i=0;i<arr.length;i++){
        var arr1=arr[i].split(‘=‘);
        if(arr1[0]==name){
          return arr1[1];
        }
      }
      return ‘‘;
    }
  alert(getCookie(username));


6.删除cookie:时间设置为已经过期的时间,系统自然会删除
  function removeCookie(name){
    setCookie(name,1,-1);
  }
  removeCookie(username,1,-1);


 7.示例:记住用户登录的用户名和密码
    方法:可以在用户第一次登录时用cookie记住登录的用户名和密码,
           下次再打开页面时用户名和密码就自动出现在表单里面
      --提交时:记住用户名
      --window.onload:读取用户名

技术分享
 1 HTML代码:
 2 <div id="cookie">
 3   <form id="form1" action="">
 4       用户名:<input type="text" name="username" value="">
 5       密码:<input type="password" name="password" value="">
 6       <input type="submit" name="" value="登录">
 7   </form>
 8 </div>
 9 
10 JS代码:
11 <script type="text/javascript">
12     //cookie记住用户名,密码
13    window.onload=function(){
14       var oForm=document.getElementById(‘form1‘);
15       var username=document.getElementsByName(‘username‘)[0];
16       var pass=document.getElementsByName(‘password‘)[0];
17       oForm.onsubmit=function(){
18         setCookie(‘username‘,username.value,25);
19         setCookie(‘pass‘,pass.value,25);
20       }
21       username.value=getCookie(‘username‘);
22       pass.value=getCookie(‘pass‘);
23 
24       function setCookie(name,value,myDay){
25        var oDate=new Date();
26        oDate.setDate(oDate.getDate()+myDay);
27        document.cookie=name+‘=‘+value+‘; expires=‘+oDate;
28       }
29 
30     function getCookie(name){
31       //document.cookie获取当前网站的所有cookie
32       var arr=document.cookie.split(‘; ‘);
33       for(var i=0;i<arr.length;i++){
34         var arr1=arr[i].split(‘=‘);
35         if(arr1[0]==name){
36           return arr1[1];
37         }
38       }
39       return ‘‘;
40     }
41 
42 
43    }
44 </script>

 














































以上是关于原生js--cookie的主要内容,如果未能解决你的问题,请参考以下文章

js经常用到的代码片段

JavaScript实用功能代码片段

js操作cookie

几个有用的JavaScript/jQuery代码片段(转)

JS cookie的使用

浏览器中的语音识别功能