您当前的位置: 首页 > 学无止境 > JS经典实例 网站首页JS经典实例
js获取指定的cookie的具体实现
发布时间:2015-07-17 09:09:58编辑:雪饮阅读()
使用javascript获取cookie或许你会,或许你请求的是document.cookie但这个是当前文档的所有cookie的集合,若是只需要某一个cookie而且是指定的又该如何呢?雪饮个人博客今天要分享的是指定cookie的获取下面有个不错的示例,大家可以参考下。
<script type="text/javascript">
//设置cookie
function setCookie(name,value,expires,path,domain,secure){
var cookieName=encodeURIComponent(name)+"="+encodeURIComponent(value);
//instanceof用来判断数据类型是不是指定的类型
//typeof同样可以用来判断变量的类型,但对于引用类型的判断则显得笨拙
//引用类型:对象,数组,函数
//typeof判断数据类型的时候将对象,数组,函数都视为object类型
if(expires instanceof Date){
cookieName+=";expires="+expires;
}
if(path){
cookieName+=";path="+path;
}
if(domain){
cookieName+=";domain="+domain;
}
if(secure){
cookieName+=";secure";
}
document.cookie=cookieName;
}
function getCookie(name){
/*
对传递进来的cookie名进行编码,使得cookie名和建立cookie之后那个编码了的cookie名一致
*/
var cookieName=encodeURIComponent(name)+"=";
//找到当前cookie名在整个document.cookie中的位置
var cookieStart=document.cookie.indexOf(cookieName);
var cookieValue=null;
if(cookieStart>-1){
//若存在当前cookie则从当前位置向后检索分号首次出现的位置
var cookieEnd=document.cookie.indexOf(";",cookieStart);
if(cookieEnd==-1){
cookieEnd=document.cookie.length;
}
//截取指定cookie名的cookie值
cookieValue=document.cookie.substring(cookieStart+cookieName.length,cookieEnd);
}
return decodeURIComponent(cookieValue);
}
//过期时间
function setCookieDate(day){
var date=null;
if(typeof day =="number" && day>0){
date=new Date();
date.setDate(date.getDate()+day);
}
else{
throw new Error("您传递的参数不合法!,必须是数字且大于0");
}
return date;
}
setCookie("user","雪饮个人博客",setCookieDate(7));
setCookie("url","www.gaojiupan.cn",setCookieDate(7));
setCookie("email","1509272975@qq.com",setCookieDate(7));
alert(getCookie("email"));
</script>
获取指定cookie源码下载:
关键字词:指定,cookie,个人博客