花花人 发表于 2013-1-29 08:37:50

JS的COOKIE操作函数

JS的COOKIE操作函数
COOKIE通常可以用来辨别用户身份、进行session跟踪,而且一般是以加密的形式储存在用户本地终端。
很多人知道用动态脚本程序来设置COOKIE,但是如何用JS来设置COOKIE,也许用过,但并没有用到比较简单的方法。
这里分享几个JS操作COOKIE的函数:
/** 获取COOKIE */
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 null;
}
/** 设置COOKIE */
function SetCookie (name, value) {
     var argv = SetCookie.arguments;
     var argc = SetCookie.arguments.length;
     var expires = (argc > 2) ? argv : null;
     var path = (argc > 3) ? argv : null;
     var domain = (argc > 4) ? argv : null;
     var secure = (argc > 5) ? argv : false;
     document.cookie = name + "=" + escape (value)
         + ((expires == null) ? "" : ("; expires=" + expires.toGMTString()))
         + ((path == null) ? "" : ("; path=" + path))
         + ((domain == null) ? "" : ("; domain=" + domain))
         + ((secure == true) ? "; secure" : "");
}
/** 删除COOKIE */
function DeleteCookie (name) {
     var exp = new Date();
     exp.setTime (exp.getTime() - 1);
     var cval = 0;
     document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
function getCookieVal(offset) {
     var endstr = document.cookie.indexOf (";", offset);
     if (endstr == -1)endstr = document.cookie.length;
     return unescape(document.cookie.substring(offset, endstr));
}
这里主要用到三个函数,即:GetCookie、SetCookie、DeleteCookie,最后的getCookieVal是在GetCookie中调用的一个子函数。
1、GetCookie(name)
获取COOKIE值,参数name即COOKIE名称。
2、SetCookie(name, value)
设置COOKIE值,设置name的COOKIE值。
3、DeleteCookie (name)
删除name的COOKIE值。
 
from: http://www.phper.org.cn/?post=48
页: [1]
查看完整版本: JS的COOKIE操作函数