<script>
@*JavaScript 通过 document.cookie 来获取cookie。遗憾的是,document.cookie
只能获取所有 cookie 的集合,不能获取单个 cookie 。*@
@*自定义一个函数来获取单个 cookie 的值:cookie 集合的格式是这样的:
name1=value1 ; name2=value2 ; name3=value3 ; ...
将 cookie 以分号(;)分组,再以等号(=)分组,就能得到每个 cookie 的名称和值。*@
/**
* func getCookie() 获取单个cookie的值
* pram cookieName cookie的名称
**/
function getCookie(cookieName){
var cookieObj={},
cookieSplit=[],
// 以分号(;)分组
cookieArr=document.cookie.split(";");
for(var i=0,len=cookieArr.length;i<len;i++)
if(cookieArr[i]) {
// 以等号(=)分组
cookieSplit=cookieArr[i].split("=");
// Trim() 是自定义的函数,用来删除字符串两边的空格
cookieObj[cookieSplit[0].Trim()]=cookieSplit[1].Trim();
}
return cookieObj[cookieName];
}
//例如,获取 name 的值:
getCookie["name"];
@*对上面的代码稍作修改,就可将 cookie 的值保存为对象的属性,使用时非常方便。代码如下:*@
/**
* func getCookieObj() 获取所有cookie的值并将其保存为对象的属性
**/
function getCookieObj(){
var cookieObj={},
cookieSplit=[],
// 以分号(;)分组
cookieArr=document.cookie.split(";");
for(var i=0,len=cookieArr.length;i<len;i++)
if(cookieArr[i]) {
// 以等号(=)分组
cookieSplit=cookieArr[i].split("=");
// Trim() 是自定义的函数,用来删除字符串两边的空格
cookieObj[cookieSplit[0].Trim()]=cookieSplit[1].Trim();
}
return cookieObj;
}
@*例如,获取 name 的值:*@
var cookieObj = getCookieObj();
cookieObj.name;
</script>
JavaScript获取cookie
最新推荐文章于 2024-03-25 22:14:19 发布