JS之——设置cookie 删除cookie

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51691035

js设置cookie有很多种方法。

第一种:(这个是w3c官网的代码)

[javascript]  view plain  copy
  1. <script>  
  2. //设置cookie  
  3. function setCookie(cname, cvalue, exdays) {  
  4.     var d = new Date();  
  5.     d.setTime(d.getTime() + (exdays*24*60*60*1000));  
  6.     var expires = "expires="+d.toUTCString();  
  7.     document.cookie = cname + "=" + cvalue + "; " + expires;  
  8. }  
  9. //获取cookie  
  10. function getCookie(cname) {  
  11.     var name = cname + "=";  
  12.     var ca = document.cookie.split(';');  
  13.     for(var i=0; i<ca.length; i++) {  
  14.         var c = ca[i];  
  15.         while (c.charAt(0)==' ') c = c.substring(1);  
  16.         if (c.indexOf(name) != -1) return c.substring(name.length, c.length);  
  17.     }  
  18.     return "";  
  19. }  
  20. //清除cookie    
  21. function clearCookie(name) {    
  22.     setCookie(name, "", -1);    
  23. }    
  24. function checkCookie() {  
  25.     var user = getCookie("username");  
  26.     if (user != "") {  
  27.         alert("Welcome again " + user);  
  28.     } else {  
  29.         user = prompt("Please enter your name:""");  
  30.         if (user != "" && user != null) {  
  31.             setCookie("username", user, 365);  
  32.         }  
  33.     }  
  34. }  
  35. checkCookie();   
  36. </script>  
第二种:
[javascript]  view plain  copy
  1. <script>  
  2. //JS操作cookies方法!  
  3.   
  4. //写cookies  
  5. function setCookie(c_name, value, expiredays){  
  6.      var exdate=new Date();  
  7.     exdate.setDate(exdate.getDate() + expiredays);  
  8.     document.cookie=c_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());  
  9.    }  
  10.    
  11. //读取cookies  
  12. function getCookie(name)  
  13. {  
  14.     var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");  
  15.    
  16.     if(arr=document.cookie.match(reg))  
  17.    
  18.         return (arr[2]);  
  19.     else  
  20.         return null;  
  21. }  
  22.   
  23. //删除cookies  
  24. function delCookie(name)  
  25. {  
  26.     var exp = new Date();  
  27.     exp.setTime(exp.getTime() - 1);  
  28.     var cval=getCookie(name);  
  29.     if(cval!=null)  
  30.         document.cookie= name + "="+cval+";expires="+exp.toGMTString();  
  31. }  
  32. //使用示例  
  33. setCookie('username','Darren',30)   
  34. alert(getCookie("username"));  
  35. </script>  
 第三个例子
[html]  view plain  copy
  1. <html>   
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  3.     <head>   
  4.         <script language="JavaScript" type="text/javascript">   
  5.               
  6.             function addCookie(objName, objValue, objHours){//添加cookie   
  7.                 var str = objName + "=" + escape(objValue);   
  8.                 if (objHours > 0) {//为0时不设定过期时间,浏览器关闭时cookie自动消失   
  9.                     var date = new Date();   
  10.                     var ms = objHours * 3600 * 1000;   
  11.                     date.setTime(date.getTime() + ms);   
  12.                     str += "; expires=" + date.toGMTString();   
  13.                 }   
  14.                 document.cookie = str;   
  15.                 alert("添加cookie成功");   
  16.             }   
  17.               
  18.             function getCookie(objName){//获取指定名称的cookie的值   
  19.                 var arrStr = document.cookie.split("; ");   
  20.                 for (var i = 0; i < arrStr.length; i++) {   
  21.                     var temp = arrStr[i].split("=");   
  22.                     if (temp[0] == objName)   
  23.                         return unescape(temp[1]);   
  24.                 }   
  25.             }   
  26.               
  27.             function delCookie(name){//为了删除指定名称的cookie,可以将其过期时间设定为一个过去的时间   
  28.                 var date = new Date();   
  29.                 date.setTime(date.getTime() - 10000);   
  30.                 document.cookie = name + "=a; expires=" + date.toGMTString();   
  31.             }   
  32.               
  33.             function allCookie(){//读取所有保存的cookie字符串   
  34.                 var str = document.cookie;   
  35.                 if (str == "") {   
  36.                     str = "没有保存任何cookie";   
  37.                 }   
  38.                 alert(str);   
  39.             }   
  40.               
  41.             function $(m, n){   
  42.                 return document.forms[m].elements[n].value;   
  43.             }   
  44.               
  45.             function add_(){   
  46.                 var cookie_name = $("myform", "cookie_name");   
  47.                 var cookie_value = $("myform", "cookie_value");   
  48.                 var cookie_expireHours = $("myform", "cookie_expiresHours");   
  49.                 addCookie(cookie_name, cookie_value, cookie_expireHours);   
  50.             }   
  51.               
  52.             function get_(){   
  53.                 var cookie_name = $("myform", "cookie_name");   
  54.                 var cookie_value = getCookie(cookie_name);   
  55.                 alert(cookie_value);   
  56.             }   
  57.               
  58.             function del_(){   
  59.                 var cookie_name = $("myform", "cookie_name");   
  60.                 delCookie(cookie_name);   
  61.                 alert("删除成功");   
  62.             }   
  63.         </script>   
  64.     </head>   
  65.     <body>   
  66.         <form name="myform">   
  67.             <div>   
  68.                 <label for="cookie_name">   
  69.                     名称   
  70.                 </label>   
  71.                 <input type="text" name="cookie_name" />   
  72.             </div>   
  73.             <div>   
  74.                 <label for="cookie_value">   
  75.                 值   
  76.                 </lable>   
  77.                 <input type="text" name="cookie_value" />   
  78.             </div>   
  79.             <div>   
  80.                 <label for="cookie_expireHours">   
  81.                 多少个小时过期   
  82.                 </lable>   
  83.                 <input type="text" name="cookie_expiresHours" />   
  84.             </div>   
  85.             <div>   
  86.                 <input type="button" value="添加该cookie" onclick="add_()"/><input type="button" value="读取所有cookie" onclick="allCookie()"/><input type="button" value="读取该名称cookie" onclick="get_()"/><input type="button" value="删除该名称cookie" onclick="del_()"/>   
  87.             </div>   
  88.         </form>   
  89. </body>   
  90. </html>  

注意:

chrome浏览器在本地获取不到cookie。必须在服务器上才可以。如果是本地的话,你可以放到local的www目录下面。

Google Chrome只支持在线网站的cookie的读写操作,对本地html的cookie操作是禁止的。所以下面的代码如果你写在一个本地的html文件中,将弹出的对话框内容为空。

document.cookie = "Test=cooo";
alert(document.cookie);

如果这个页面是在线网站的内容,则会正常显示cookie内容Test=cooo等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值