Cookie在Javascript中的一部分使用方法

Cookie在Javascript中的部分使用方法

在很多互联网公司,网站开发过程中会经常遇到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的相关知识,非常的详细,有对其中不明白的参数值,可以到这个文章中查找。