Javascript讀取cookie函數(shù)代碼
更新時間:2010年10月16日 00:50:19 作者:
Javascript讀取cookie函數(shù)代碼,需要的朋友可以參考下。
用法:
一、設(shè)置cookie
var cookie = new JSCookie();
// 普通設(shè)置
cookie .SetCookie("key1","val1");
// 過期時間為一年
var expire_time = new Date();
expire_time.setFullYear(expire_time.getFullYear() + 1);
cookie .SetCookie("key2","val2",expire_time);
// 設(shè)置域及路徑,帶過期時間
cookie .SetCookie("key3","val3",expire_time,".cnblogs.com","/");
// 設(shè)置帶子鍵的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值
由于asp的cookie是經(jīng)過url編碼的,所以讀之前要unescape一下。
下面是我用正則的方法取cookie,包括單值和多值:
/**************************************************
參數(shù)說明:
sMainName Cookie名
sSubName Cookie子鍵名,留空表示單值Cookie
**************************************************/
function GetCookie(sMainName, sSubName)
{
var re = new RegExp((sSubName ? sMainName + "=(?:.*?&)*?" + sSubName + "=([^&;$]*)" : sMainName + "=([^;$]*)"),"i");
return re.test(unescape(document.cookie)) ? RegExp["$1"] : "";
}
一、設(shè)置cookie
復(fù)制代碼 代碼如下:
var cookie = new JSCookie();
// 普通設(shè)置
cookie .SetCookie("key1","val1");
// 過期時間為一年
var expire_time = new Date();
expire_time.setFullYear(expire_time.getFullYear() + 1);
cookie .SetCookie("key2","val2",expire_time);
// 設(shè)置域及路徑,帶過期時間
cookie .SetCookie("key3","val3",expire_time,".cnblogs.com","/");
// 設(shè)置帶子鍵的cookie,子鍵分別是k1,k2,k3
cookie .SetCookie("key4","k1=1&k2=2&k3=3");
二、讀取cookie
復(fù)制代碼 代碼如下:
// 簡單獲取
cookie .GetCookie("key1");
cookie .GetCookie("key2");
cookie .GetCookie("key3");
cookie .GetCookie("key4");
// 獲取key4的子鍵k1值
cookie .GetChild("key4","k1");
三、刪除
復(fù)制代碼 代碼如下:
cookie .Expire("key1");
cookie .Expire("key2");
cookie .Expire("key3");
cookie .Expire("key4");
示例:
復(fù)制代碼 代碼如下:
<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值
由于asp的cookie是經(jīng)過url編碼的,所以讀之前要unescape一下。
下面是我用正則的方法取cookie,包括單值和多值:
復(fù)制代碼 代碼如下:
/**************************************************
參數(shù)說明:
sMainName Cookie名
sSubName Cookie子鍵名,留空表示單值Cookie
**************************************************/
function GetCookie(sMainName, sSubName)
{
var re = new RegExp((sSubName ? sMainName + "=(?:.*?&)*?" + sSubName + "=([^&;$]*)" : sMainName + "=([^;$]*)"),"i");
return re.test(unescape(document.cookie)) ? RegExp["$1"] : "";
}
相關(guān)文章
JavaScript實現(xiàn)隨機產(chǎn)生字符串的方法分享
這篇文章主要為大家詳細(xì)介紹了JavaScript中實現(xiàn)隨機產(chǎn)生字符串的方法,文中的示例代碼簡潔易懂,對我們學(xué)習(xí)JavaScript有一定的幫助,需要的可以參考一下2022-11-11
淺談webpack 構(gòu)建性能優(yōu)化策略小結(jié)
webpack以其豐富的功能和靈活的配置而深受業(yè)內(nèi)吹捧,逐步取代了grunt和gulp成為大多數(shù)前端工程實踐中的首選,這篇文章主要介紹了淺談webpack 構(gòu)建性能優(yōu)化策略小結(jié),感興趣的小伙伴們可以參考一下2018-06-06
微信小程序?qū)崿F(xiàn)判斷是分享到群還是個人功能示例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)判斷是分享到群還是個人功能,結(jié)合實例形式分析了微信小程序分享與判斷功能的實現(xiàn)原理、步驟及相關(guān)操作技巧,需要的朋友可以參考下2019-05-05

