首頁  >  文章  >  後端開發  >  js中cookie的新增、取值、刪除實例程式碼

js中cookie的新增、取值、刪除實例程式碼

怪我咯
怪我咯原創
2017-07-10 11:24:321220瀏覽

cookie的應用程式在網頁中很常見,在本文為大家介紹下js中如何對cookie進行新增、取值、刪除,有興趣的朋友不要錯過

 程式碼如下:

function setCookie(name,value,time){ 
var oDate = new Date(); 
oDate.setDate(oDate.getDate()+time); 
document.cookie = name+"="+value+";expires="+oDate; 
} 


function getCookie(name){ 
var arr = document.cookie.split("; "); 
for(var i=0; i<arr.length; i++){ 
var arr2 = arr[i].split("="); 
if(arr2[0] == name){ 
return arr2[1]; 
} 
} 
return ""; 
} 


function removeCookie(name){ 
setCookie(name,"",0) 
}

JavaScript是執行在客戶端的腳本,因此一般是不能夠設定Session的,因為Session是在伺服器端的。而cookie是運行在客戶端的,所以可以用JS來設定cookie. 下面我們來分析下案例

//已经验证过
// JavaScript Document
//使用说明: 
//设置缓存:setCookie("name",value);
//获取缓存:var name=getCookie("name");
//删除缓存:delCookie("name");
///设置cookie
function setCookie(NameOfCookie, value, expiredays)
{
 //@参数:三个变量用来设置新的cookie:
 //cookie的名称,存储的Cookie值,
 // 以及Cookie过期的时间.
 // 这几行是把天数转换为合法的日期
 var ExpireDate = new Date ();
 ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
 // 下面这行是用来存储cookie的,只需简单的为"document.cookie"赋值即可.
 // 注意日期通过toGMTstring()函数被转换成了GMT时间。
 document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
}
///获取cookie值
function getCookie(NameOfCookie)
{
 // 首先我们检查下cookie是否存在.
 // 如果不存在则document.cookie的长度为0
 if (document.cookie.length > 0)
 {
  // 接着我们检查下cookie的名字是否存在于document.cookie
  // 因为不止一个cookie值存储,所以即使document.cookie的长度不为0也不能保证我们想要的名字的cookie存在
  //所以我们需要这一步看看是否有我们想要的cookie
  //如果begin的变量值得到的是-1那么说明不存在
  begin = document.cookie.indexOf(NameOfCookie+"=");
  if (begin != -1)   
  {
   // 说明存在我们的cookie.
   begin += NameOfCookie.length+1;//cookie值的初始位置
   end = document.cookie.indexOf(";", begin);//结束位置
   if (end == -1) end = document.cookie.length;//没有;则end为字符串结束位置
   return unescape(document.cookie.substring(begin, end));
  }
 }
 return null;
 // cookie不存在返回null
}
///删除cookie
function delCookie (NameOfCookie)
{
 // 该函数检查下cookie是否设置,如果设置了则将过期时间调到过去的时间;
 //剩下就交给操作系统适当时间清理cookie啦
 if (getCookie(NameOfCookie))
 {
  document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
 }
}

以上是js中cookie的新增、取值、刪除實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn