您的位置:首页 > Web前端 > JavaScript

js javaScript 操作cookie

2010-08-31 09:08 435 查看
String.prototype.Trim = function()
  {
      return this.replace(/^/s+/g,"").replace(//s+$/g,"");
  }
  
  function JSCookie()
  {
      this.GetCookie = function(key)
      {
        var cookie = document.cookie;
        var cookieArray = cookie.split(';');
        var getvalue = "";
        for(var i = 0;i<cookieArray.length;i++)
        {
            
            if(cookieArray[i].Trim().substr(0,key.length) == key)
            {
                getvalue = cookieArray[i].Trim().substr(key.length + 1);
                break;
            }
        }

        return getvalue;
    };
    this.GetChild = function(cookiekey,childkey)
    {
        var child = this.GetCookie(cookiekey);
        var childs = child.split('&');
        var getvalue = "";
        
        for(var i = 0;i < childs.length;i++)
        {
            if(childs[i].Trim().substr(0,childkey.length) == childkey)
            {
                getvalue = childs[i].Trim().substr(childkey.length + 1);
                break;
            }
        }
        return getvalue;
    };
    this.SetCookie = function(key,value,expire,domain,path)
    {
        var cookie = "";
        if(key != null && value != null)
            cookie += key + "=" + value + ";";
        if(expire != null)
            cookie += "expires=" + expire.toGMTString() + ";";
        if(domain != null)
            cookie += "domain=" + domain + ";";
        if(path != null)
            cookie += "path=" + path + ";";
        document.cookie = cookie;
    };
    this.Expire = function(key)
    {
        expire_time = new Date();
        expire_time.setFullYear(expire_time.getFullYear() - 1);
        var cookie = " " + key + "=e;expires=" + expire_time + ";"
        document.cookie = cookie;
    }
}
 

用法:
一、设置cookie
var cookie = new JSCookie();
//普通设置
cookie.SetCookie("key1","val1");

//过期时间为一年
var expire_time = new Date();
expire_time.setFullYear(expire_time.getFullYear() + 1);
cookie.SetCookie("key2","val2",expire_time);

//设置域及路径,带过期时间
cookie.SetCookie("key3","val3",expire_time,".cnblogs.com","/");

//设置带子键的cookie,子键分别是k1,k2,k3
cookie.SetCookie("key4","k1=1&k2=2&k3=3");

二、读取cookie
//简单获取
cookie.GetCookie("key1");
cookie.GetCookie("key2");
cookie.GetCookie("key3");
cookie.GetCookie("key4");
//获取key4的子键k1值
cookie.GetChild("key4","k1");

三、删除
cookie.Expire("key1");
cookie.Expire("key2");
cookie.Expire("key3");
cookie.Expire("key4");


转自:http://topic.csdn.net/u/20100827/22/2335d1ad-a335-4c5a-8391-1736c998ea46.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: