js设置 获取 删除cookie等基本实例

js设置 获取 删除基cookie等本实例  

2013-09-03 11:54:42|  分类: Web前端 |  标签:html  |举报|字号 订阅

//设置cookie

function setCookie(name,value,expiredays){

       var exdate=new Date();

       exdate.setDate(exdate.getDate()+expiredays);

       document.cookie=name+ "=" +escape(value)+

       ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());

}

//获取cookie

function getCookie(name){//

       if (document.cookie.length>0){

              c_start=document.cookie.indexOf(name + "=");//查询cookie键名

              if (c_start!=-1){ //查询到cookie键名

                     c_start=c_start + name.length+1;//查询到cookie键名

                     c_end=document.cookie.indexOf(";",c_start);

                     if (c_end==-1) c_end=document.cookie.length//如果只有一个cookie键值对,该方法才有效;

                            return unescape(document.cookie.substring(c_start,c_end));

              }

       }

       return "";

}

//删除cookie

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();

}

实例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>cookie</title>

<style type="text/css">

*{margin:0;padding:0;}

div{height:30px;}

</style>

<script type="text/javascript">

function setCookie(name,value,expiredays){//设置cookie

       var exdate=new Date();

       exdate.setDate(exdate.getDate()+expiredays);

       document.cookie=name+ "=" +escape(value)+

       ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());

}

function getCookie(name){//获取cookie

       if (document.cookie.length>0){

              c_start=document.cookie.indexOf(name + "=");//查询cookie键名

              if (c_start!=-1){ //查询到cookie键名

                     c_start=c_start + name.length+1;//查询到cookie键名

                     c_end=document.cookie.indexOf(";",c_start);

                     if (c_end==-1) c_end=document.cookie.length//如果只有一个cookie键值对,该方法才有效;

                            return unescape(document.cookie.substring(c_start,c_end));

              }

       }

       return "";

}

function delCookie(name){//删除cookie

    var exp = new Date();

    exp.setTime(exp.getTime() - 1);

    var cval=getCookie(name);

    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();

}

function delAllCookie(){//遍历所有Cookie并删除

       var strCookie=document.cookie;

       var arrCookie=strCookie.split("; "); // 将多cookie切割为多个名/值对

       for(var i=0;i<arrCookie.length;i++){ // 遍历cookie数组,处理每个cookie

              var arr=arrCookie[i].split("=");

              if(arr.length>0)

                     delCookie(arr[0]);

       }

}

</script>

</head>

<body>

<div></div>

<div onclick="setCookie('a',10,1);

">设定a-cookie</div>

<div onclick="alert(getCookie('a'))">获取a-cookie</div>

<div onclick="setCookie('b',100,1);

">设定b-cookie</div>

<div onclick="alert(getCookie('b'))">获取b-cookie</div>

<div onclick="alert(document.cookie)">输出cookie</div>

<div onclick="delCookie('a')">清空a-cookie</div>

<div onclick="delCookie('b')">清空b-cookie</div>

<div onclick="delAllCookie()">清空全部cookie</div>

</body>

</html>

 

多个连续cookie之间的分隔;

 

我们在分别设置不同名称的cookie时,浏览器默认会将cookie接成字符串,但字符串之间会自动添加”; ”一个分号和空格以示分割。所以当我们输出cookie的字符串长度属性时,发现浏览器输出数据会比我们设置的cookie值多出几个长度。 

本文转载自:http://wu110cheng.blog.163.com/blog/static/133349654201383115442401/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值