操作 cookie
参考网址:http://www.jb51.net/article/64330.htm
我的测试代码:
1 function SetCookie(_strCookieName, _strCookieValue, _iDays) 2 { 3 var dateExpires = new Date(); 4 var iMillisecondNow = dateExpires.getTime(); // 返回 1970 年 1 月 1 日至今的毫秒数. 5 var iMillisecondExpires = iMillisecondNow + _iDays*24*60*60*1000; 6 //console.log("SetCookie --> iMillisecondExpires : "+iMillisecondExpires); 7 dateExpires.setTime(iMillisecondExpires); 8 var strCookie = _strCookieName + "="+ escape(_strCookieValue) + ";expires=" + dateExpires.toGMTString(); 9 //console.log("SetCookie --> strCookie : "+strCookie); 10 document.cookie = strCookie; 11 // ZC: 测试表明,这样设置cookie,只会影响该cookie的值,不会影响别的cookie ! ! 12 13 // escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。 14 // 提示:可以使用 unescape() 对 escape() 编码的字符串进行解码。 15 // 注释:ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。 16 } 17 18 function GetCookie(_strCookieName) 19 { 20 var regexp=new RegExp("(^| )"+_strCookieName+"=([^;]*)(;|$)"); 21 var arr = null; 22 if(arr = document.cookie.match(regexp)) // ZC: 匹配正则 23 return unescape(arr[2]); 24 else 25 return null; 26 } 27 28 function DelCookie(_strCookieName) 29 { 30 var dateExpires = new Date(); 31 dateExpires.setTime(dateExpires.getTime() - 1); 32 var cookieValue = GetCookie(_strCookieName); 33 if(cookieValue != null) 34 document.cookie = _strCookieName + "=" + cookieValue + ";expires=" + dateExpires.toGMTString(); 35 } 36 37 window.onload = function() 38 { 39 SetCookie("ZZ", "ccww", 3); 40 SetCookie("A", "SDFG", 30); 41 42 console.log("document.cookie : "+document.cookie); 43 44 var ZZ = GetCookie("ZZ"); 45 console.log("ZZ : "+ZZ); 46 var zz1 = GetCookie("zz"); 47 console.log("zz1 : "+zz1); 48 var A = GetCookie("A"); 49 console.log("A : "+A); 50 var a1 = GetCookie("a"); 51 console.log("a1 : "+a1); 52 // ZC: 可见,cookie是区分大小写的 53 54 DelCookie("ZZ"); 55 console.log("document.cookie : "+document.cookie); 56 };
chrome控制台 打印信息:
1 document.cookie : ZZ=ccww; A=SDFG 2 ZZ : ccww 3 zz1 : null 4 A : SDFG 5 a1 : null 6 document.cookie : A=SDFG
C