`
zendj
  • 浏览: 122016 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

JS写的cookie类

 
阅读更多

JS写的cookie类



<script language="JScript">
function Cookie(delim){
this._Cookie=[];
this.Load=function(){
if(document.cookie.indexOf(";")!=-1){
var _sp,_name,_tp,_tars,_tarslength;
var _item=document.cookie.split("; ");
var _itemlength=_item.length;
while(_itemlength>0){
_sp=_item[--_itemlength].split("=");
_name=_sp[0];
_tp=_sp[1].split(",");
_tars=_tp.slice(1,_tp.length);
this._Cookie[_name]=[];
this._Cookie[_name]=_tars;
this._Cookie[_name]["timeout"]=_tp[0];
}
return true;
}
return false;
}
this.Save=function(){
var _str,_ars,_mars,_marslength,timeout,i,key;
for(key in this._Cookie){
if(!this._Cookie[key])return;
_str=[];
_mars=CookieClass._Cookie[key];
_marslength=_mars.length;
for(i=0;i<_marslength;i++)_str[_str.length]=escape(_mars[i]);
document.cookie=key+"="+_mars["timeout"]+(_str.length>0?",":"")+_str+(_mars["timeout"]==0?"":";expires="+new Date(parseInt(_mars["timeout"])).toGMTString());
}

}
this.GetCookieCount=function(){
var _length=0,key;
for(key in this._Cookie)_length++;
return _length;
}
this.Create=function(name,days){
days=days?days:0;
if(!this._Cookie[name])this._Cookie[name]=[];
this._Cookie[name]["timeout"]=days!=0?new Date().getTime()+parseInt(days)*86400000:0;
}
this.Modify=function(name,days){
this.Create(name,days);
}
this.GetTime=function(name){
return new Date(parseInt(this._Cookie[name]["timeout"]));
}
this.Delete=function(name){
this.Create(name,0);
}
this.AddItem=function(name,value){
this._Cookie[name][this._Cookie[name].length]=value;
}
this.DelItem=function(name,index){
var _ttime=this._Cookie[name]["timeout"];
this._Cookie[name]=this._Cookie[name].slice(0,index).concat(this._Cookie[name].slice(parseInt(index)+1,this._Cookie[name].length));
this._Cookie[name]["timeout"]=_ttime;
}
this.GetCount=function(name){
return this._Cookie[name].length;
}
this.GetItem=function(name,index){
return this._Cookie[name][index];
}
}
</script>
<script language="JScript">
//Cookie类测试
var CookieClass=new Cookie();
if(!CookieClass.Load()){
CookieClass.Create("Pass",1);
CookieClass.AddItem("Pass","Ps1");
CookieClass.AddItem("Pass","Ps2");
CookieClass.AddItem("Pass","Ps3");
CookieClass.AddItem("Pass","Ps4");
CookieClass.DelItem("Pass",1);
CookieClass.Save();
}
alert("Cookie过期时间:"+CookieClass.GetTime("Pass").toLocaleString());
alert(document.cookie);
</script>
<script>
function eyunCookie()
{this.key="";//初始化key。
this.value="";//初始化key's value。
this.expires=0;//初始化cookie的有效时间,单位毫秒。
this.init=function()//对象初始化
{this.key="";
this.value="";
this.expires=0;
}
this.set=function(key,value,expires)//设置cookie
{if(this.key=="")this.key=key;
if(this.value="/="")this.value=value;"
if(this.expires<=0)this.expires=expires;
if(this.key==""||typeof(this.key)!="string")
{alert("请先设置欲保存的cookie名称!");
this.init();
return false;
}
if(this.key.match(/[,; ]/))
{alert("cookie名称中不能包含“,”、“;”或空格!");
this.init();
return false;
}
if(this.value.toString().match(/[,; ]/)||typeof(this.value)=="undefined")
{alert("cookie值中不能包含“,”、“;”或空格!");
this.init();
return false;
}
if(this.expires<=0||typeof(this.expires)!="number")
{alert("请先正确设置cookie的有效时间!");
this.init();
return false;
}
var cookie=document.cookie;
if(cookie.indexOf(this.key+"=")!=-1)
{if(!confirm("欲保存的cookie名称已经存在,是否要进行替换?"))
{this.init();
return false;
}
}
var dt=new Date();
dt.setTime(dt.getTime()+this.expires);
document.cookie=this.key+"="+this.value+";expires="+dt.toGMTString();
this.init();
return true;
}
this.get=function(key)//取得名为key的cookie的值
{if(key==""||key.match(/[,; ]/))
{alert("请正确设置欲查找的cookie名称!")
return false;
}
var cookie=document.cookie;
var start=cookie.indexOf(key+"=");
if(start==-1)
{alert("欲查找的cookie不存在!")
return false;
}
var end=cookie.indexOf(";",start);
if(end==-1)
end=cookie.length;
var getCookie=cookie.substring(start+key.length+1,end);
alert("cookie:"+key+"的值为"+getCookie);
return getCookie;
}
this.showAll=function(){alert("共有以下cookie对:\n"+document.cookie.split(";").toString().replace(/,/g,"\n"));}//显示所有cookie
this.del=function(key)//删除名为key的cookie
{if(key==""||key.match(/[,; ]/))
{alert("请正确设置欲删除的cookie名称!")
return false;
}
var dt=new Date();
dt.setTime(dt.getTime());
document.cookie=key+"=eyunDelete;expires="+dt.toGMTString();
this.init();
return true;
}
this.destroy=function()//销毁所有cookie
{var dt=new Date();
dt.setTime(dt.getTime());
while(document.cookie!="")
document.cookie=document.cookie+";expires="+dt.toGMTString();
this.init();
return true
}
}

//eyunCookie类测试
var cookieTest=new eyunCookie()
function settest()
{cookieTest.key="test"
cookieTest.value="ok"
cookieTest.expires=31536000000
cookieTest.set()
}
</script>
<input type=button onclick=cookieTest.showAll() value=read>
<input type=button onclick="cookieTest.set('a','test',31536000000)" value=setA>
<input type=button onclick="settest();" value=setTest>
<input type=button onclick="cookieTest.destroy()" value=clear>
<input type=button onclick=cookieTest.get("test") value=gettest>
<input type=button onclick=cookieTest.get("a") value=geta>
<input type=button onclick=cookieTest.set("test",1,31536000000) value=resetTest>
<input type=button onclick=cookieTest.del("test") value=delTest>

分享到:
评论

相关推荐

    js读写cookie

    详细介绍js读写cookie的方法 function cookeid get()

    js 实现 读写Cookie的函数

    js 实现 读写Cookie的函数! 值得下载看看!资源免费,大家分享!!

    js-cookie.js

    js_cookie源码下载,js-cookie用于操作cookie,笔者是因为一开始不会弄,后来会整下来了,鉴于自身经历,故将其分享出来。

    JS cookie 操作工具类

    JS cookie 操作工具类,对cookie的设置 读取 删除 ,有效期的设置等

    Javascript Cookie操作类的封装

    接下来,我们来创建一个名为`CookieManager`的JavaScript类,用于封装Cookie的操作。这个类需要包含以下方法: 1. **setCookie**:用于设置Cookie。需要传入键(key)、值(value)以及可选的过期时间(days)和...

    javascript 操作cookie.js

    javascript 操作cookiejavascript 操作cookiejavascript 操作cookie

    JD cookie一键获取脚本,基于JavaScript

    jdcookie.js下载 JD cookie一键获取脚本,基于JavaScript jdcookie.js下载 JD cookie一键获取脚本,基于JavaScript jdcookie.js下载 JD cookie一键获取脚本,基于JavaScript jdcookie.js下载 JD cookie一键获取脚本...

    javascript 对cookie 的读写操作

    javascript对cookie的日常操作

    jquery.cookie.js 存取cookie例子

    `jQuery.cookie.js` 是一个方便的jQuery插件,它简化了JavaScript操作Cookie的过程。在这个实例中,我们将深入探讨如何使用`jquery.cookie.js`来实现Cookie的存取、删除和更新功能。 首先,我们需要在HTML文件(如`...

    js+cookie购物车

    在这个“js+cookie购物车”项目中,我们看到开发者使用JavaScript和Cookie技术来实现这一功能。下面我们将详细探讨JavaScript、Cookie以及它们如何在购物车场景中结合使用。 JavaScript是一种强大的客户端脚本语言...

    JS添加Cookie的例子

    在JavaScript(JS)中,Cookie是一种非常常见的技术,用于存储客户端的数据。Cookie主要由服务器端设置,然后由浏览器在每次请求该服务器时自动发送。在本文中,我们将深入探讨如何使用JavaScript来创建、读取、更新...

    js操作cookies类

    通过这个类,开发者可以更方便地管理和操作JavaScript中的Cookie,实现诸如用户设置、临时存储等应用场景。理解这个类的工作原理对于优化网站性能和用户体验至关重要,特别是在需要在客户端持久化数据时。

    JS设置cookie和获取cookie 方法

    js写的方法,可以设置cookie和获取cookie值,简单易懂

    js中cookie的创建和读取单个cookie值

    js中cookie的创建和读取单个cookie值,以及设置cookie的过期时间。 能够判断是否有自己需要查找的cookie,如果没有查到到就可以执行创建语句

    js操作cookie类

    这个类主要关注如何使用JavaScript来创建、读取和删除Cookie。 首先,我们来看`getCookie`函数,它是用来读取Cookie的。函数接收一个参数`c_name`,即我们要查找的Cookie的名称。它通过检查`document.cookie`字符串...

    js操作cookie

    JavaScript通过`document.cookie`属性与Cookie进行交互,但需要注意的是,这个属性是一个字符串,而非对象,因此操作起来有一些特殊。 ### 二、JavaScript设置Cookie 设置Cookie涉及到以下步骤: 1. 创建一个包含...

    cookie设置插件jquery.cookie.min.js

    cookie设置插件jquery.cookie.min.js 文章《javascript设置cookie高级篇可跨域访问》https://blog.csdn.net/cplvfx/article/details/117822956

    cookie-banner, 基于JavaScript的cookie信息横幅,适用于欧盟 cookie.zip

    cookie-banner, 基于JavaScript的cookie信息横幅,适用于欧盟 cookie Cookie标题 Cookie横幅是确保你遵守欧盟Cookie规则的一种非常简单的方法。 只要从你的页面引用 cookiebanner.min.js 脚本就完成了。Cookie ...

    用js写的cookie

    ### 使用JavaScript操作Cookie详解 #### 一、Cookie简介 Cookie是一种服务器端发送到客户端的小型文本文件,存储在客户端硬盘上。当用户访问网站时,这些Cookie会被重新发送回服务器,以便服务器能够识别用户并...

Global site tag (gtag.js) - Google Analytics