通过date设置过期时间
date通过setDate(当前date+过期时间)来完成过期日期的设置
具体使用如下:
var myDate=new Date();
myDate.setDate(myDate.getDate()+14);
dateStr=myDate.getFullYear()+'-'+(myDate.getMonth()+1)+'-'+myDate.getDate();
alert(dateStr);
其中 myDate.setDate(myDate.getDate()+14)不仅仅可以设置天数,还可以利用getSecond()获取秒数,把过期天数换算成秒数来设置过期时间
FF浏览器可以支持本地站点cookie的查看,所以测试时,最好用FireFox浏览器。查看方法如下:
对网页右击》》查看页面信息》》安全》》查看cookie
设置cookie函数如下:
function setCookie(name,value,expiresDay)
{
var date=new Date();
date.setDate(date.getDate()+expiresDay);
document.cookie=name+'='+value+'; expires='+date;
}
其中expires是设置过期时间,中间使用“分号+空格”来隔开
读取cookie函数如下:
function getCookie(name)
{
var cookies=document.cookie.split('; ');
for(var i=0;i<cookies.length;i++)
{
var userData=cookies[i].split('=');
if(userData[0]==name)
{
return userData[1];
}
}
return '';
}
cookie在用户硬盘上是以'user=zhaoshaobang; password=123456'格式进行存储的,中间使用“分号+空格”进行隔开的。
所以可以使用split将读取到的cookie进行分割,这样数组里存储的就是 user=zhaoshaobang,password=123456了。然后再使用split('=')分割出变量名和变量值,将要读取的name与变量名比较,就可以读取相应的cookie值了。
如果想要把某一个cookie过期,就可以使用 setCookie(name,value,-1),对应的cookie就会被删除掉。
下面就应用这节学的,做一个实例
html代码如下:
<form id="form1" action="http://by.cuc.edu.cn">
用户名:<input name="user" /><br />
密码:<input name="pass" /><br />
<input type="submit" value="登录" />
</form>
js代码如下:
window.οnlοad=function()
{
var oForm=document.getElementById('form1');
var username=document.getElementsByName('user')[0];
var password=document.getElementsByName('pass')[0];
oForm.οnsubmit=function(){
setCookie('username',username.value,14);
setCookie('password',password.value,2);
};
username.value=getCookie('username');
};
这个实例就实现了我们的用户登录,通过在window.onload中调用cookie,来读取用户名,效果图如下