在很多互联网公司,网站开发过程中会经常遇到cookie的使用,下面我整理了一些对于cookie的读,写,删的操作,留作以后的不时之需。
说实话,作为程序员,不来应该是对经常使用的知识要掌握牢固才对,可奈何记忆力不咋滴,暂且拿博客做个记事本吧,哈哈,同时给有需要的朋友一点帮助。
代码如下:
1、读其cookie值方式一:
function getcookie(name){ var strcookie=document.cookie; var arrcookie=strcookie.split("; "); for(var i=0;i<arrcookie.length;i++){ var arr=arrcookie[i].split("="); if(arr[0]==name){ return unescape(arr[1]); } } return ""; }
其中,在返回cookie值时用到了unescape(),这是在setcookie的时候,将value值用escape()转码之后对应的解码方式,二者必须一一对应,不然取到的cookie会出错的,这点很重要。
2、读取cookie值方式二:
function getCookieVal(offset){ var endstr = document.cookie.indexOf(";", offset); if(endstr == -1){ endstr = document.cookie.length; } return unescape(document.cookie.substring(offset, endstr)); }; function getCookie(name){ var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while(i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) { return getCookieVal(j); } i = document.cookie.indexOf(" ", i) + 1; if(i == 0) break; } return ""; };
3、设置cookie值方式:
function setCookie(cookieName, cookieValue, expires, path, domain) { if(getCookie(name) != undefined){ deleteCookie(name,"/","china.com"); } document.cookie = escape(cookieName) + '=' + escape(cookieValue) + (expires ? '; expires=' + expires.toGMTString() : '') + (path ? '; path=' + path : '') + (domain ? '; domain=' + domain : ''); };
参数说明:
1)cookieName : 当然就是Cooke的key了,或者叫cookie的名字;
2)cookieValue : 当然就是cookie的value了,或者叫Cooke的值;
3)expires : cookie的有效期,一般填写整数;
4)path : cookie的路径;
5)domain :cookie所在的域;
使用演示:setCookie('userid','hello',6,'/','.com');
4、删除cookie的方式:
function deleteCookie(name,path,domain){ if(getCookie(name)) { document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT"; } };
参数说明:
1)cookieName : 当然就是Cooke的key了,或者叫cookie的名字;
2)cookieValue : 当然就是cookie的value了,或者叫Cooke的值;
3)domain :cookie所在的域;
使用演示:deleteCookie('userid','/','.com');
外部链接:http://blog.csdn.net/aaaaatiger/article/details/4022482
这篇文章中讲述了cookie的相关知识,非常的详细,有对其中不明白的参数值,可以到这个文章中查找。