js讀寫(刪除)Cookie實例詳解
更新時間:2013年04月17日 15:11:07 作者:
js操作Cookie包括:寫cookies、讀取cookies、刪除cookies以及使用示例,感興趣的朋友可以參考下哈
復(fù)制代碼 代碼如下:
//JS操作cookies方法!
//寫cookies
function setCookie(name,value)
{
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
//讀取cookies
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg)) return unescape(arr[2]);
else return null;
}
//刪除cookies
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
//使用示例
setCookie("name","hayden");
alert(getCookie("name"));
//如果需要設(shè)定自定義過期時間
//那么把上面的setCookie 函數(shù)換成下面兩個函數(shù)就ok;
//程序代碼
function setCookie2(name,value,time){
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getsec(str){
alert(str);
var str1=str.substring(1,str.length)*1;
var str2=str.substring(0,1);
if (str2=="s"){
return str1*1000;
}else if (str2=="h"){
return str1*60*60*1000;
}else if (str2=="d"){
return str1*24*60*60*1000;
}
}
//這是有設(shè)定過期時間的使用示例:
//s20是代表20秒
//h是指小時,如12小時則是:h12
//d是天數(shù),30天則:d30
//暫時只寫了這三種
setCookie2("name2","hayden2","s20");
alert(getCookie("name2"));
以下是幾個比較常見的好用的函數(shù):
復(fù)制代碼 代碼如下:
function GetCookieVal(offset)
//獲得Cookie解碼后的值
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function SetCookie(name, value)
//設(shè)定Cookie值
{
var expdate = new Date();
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ));
document.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString()))
+((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain))
+((secure == true) ? "; secure" : "");
}
function DelCookie(name)
//刪除Cookie
{
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString();
}
function GetCookie(name)
//獲得Cookie的原始值
{
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;
}
//測試
SetCookie("sunshine","1986");
alert(GetCookie("sunshine"));
相關(guān)文章
完美解決手機瀏覽器頂部下拉出現(xiàn)網(wǎng)頁源或刷新的問題
下面小編就為大家分享一篇完美解決手機瀏覽器頂部下拉出現(xiàn)網(wǎng)頁源或刷新的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-11-11

TypeScript之元組、數(shù)組及as?const的使用
TypeScript中的元組、數(shù)組和as?const關(guān)鍵字對于類型安全性和代碼可讀性非常重要,本文主要介紹了TypeScript之元組、數(shù)組及as?const的使用,感興趣的可以了解一下
2023-10-10 
詳解JavaScript Alert函數(shù)執(zhí)行順序問題
本文主要介紹了Javascript的Alert函數(shù)執(zhí)行順序問題,對此感興趣的同學(xué),可以實驗一下,以便解決平時遇到的一些奇怪的問題。
2021-05-05 
javascript實現(xiàn)動態(tài)加載CSS
最近在做自己的小框架的按需加載模塊,那么就需要做到異步動態(tài)加載css文件。仔細研究了一番,得到了如下解決方案,分享給大家。
2015-01-01 
js實現(xiàn)日期天數(shù)、時分秒的倒計時完整代碼
這篇文章主要給大家介紹了關(guān)于js實現(xiàn)日期天數(shù)、時分秒的倒計時的相關(guān)資料,實現(xiàn)倒計時功能首先是得到目標(biāo)時間,然后用當(dāng)前時間減去目標(biāo)時間,最后將時間差傳化為天數(shù)、時、分、秒,需要的朋友可以參考下
2023-11-11