XuGang

记录一个程序员的成长

 

JavaScript 拾碎[二] JavaScript 操作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");

 

示例:

<script type="text/javascript">
 
 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;
      }
 }
 
</script>
完毕.

相关文章:用正则的方法读取cookie值

posted on   钢钢  阅读(562)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

统计

点击右上角即可分享
微信分享提示