JavaScript通过Cookie实现简单的用户登录状态的保存。Cookie可以跨越多个网页使用,但不能跨域名使用,也不同跨浏览器使用。
1.设置cookie
1 function SetCookie(name, value)//两个参数,一个是cookie的名子,一个是值
2 {
3 var Days = 30; //此 cookie 将被保存 30 天
4 var exp = new Date(); //new Date("December 31, 9998");
5 exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
6 document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
7 }
cookie是一对键值对,所以调用该方法的时候 只需要传递键名和键值。若果需要创建多个cookie,可以多次调用。
2.获取cookie
1 function getCookie(name)//取cookies函数
2 {
3 var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
4 if (arr != null) return unescape(arr[2]); return null;
5
6 }
这里通过正则表达式对cookie进行分析,获取指定的cookie值。
3.删除cookie
1 function delCookie(name)//删除cookie
2 {
3 var exp = new Date();
4 exp.setTime(exp.getTime() - 1);
5 var cval = getCookie(name);
6 if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
7 }
原以为cookie删除是直接删除的那种,看了代码发现是通过设置时间来实现的。