【JS】用cookie记住用户名

来源:互联网 发布:上班 知乎 编辑:程序博客网 时间:2024/05/22 01:42

要使用cookie来记住上一次登录时的用户名和密码。主要分为两部分,一个是设置cookie,另一个是读取cookie。当用户第一次登录时设置cookie,并把这个cookie存储起来加一个过期期限,当用户再次登录时读取之前已经存储的cookie即可。

注意:如果是在本地测试,在Firefox才能记录cookie信息。具体方法是:


下面通过一个表单来举例,为尽量模拟真实的提交表单,把action值暂时设置为提交到百度:

<form action="http://www.baidu.com" id="form1">用户名:<input type="text" name="user" /><br/>密码:<input type="password" name="pass" /><br/><input type="submit" value="登陆"/></form>

/*1、当用户第一次登陆时(提交表单时),把user存进cookie里2、当用户在此打开时(reload),读取cookie*///设置cookiefunction setCookie(name,value,iDay){//三个参数分别为:cookie名称、值、多少天后过期var oDate=new Date();//这里的设置时间并不是修改系统时间,而是oDate这个日期对象内部的时间。使用这个方法可以算出该日期的几天后的日期时间oDate.setDate(oDate.getDate()+iDay);document.cookie=name+'='+value+';expires='+oDate;};//读取cookiefunction getCookie(name){var arr=document.cookie.split('; ');for(var i=0;i<arr.length;i++){var arr2=arr[i].split('=');//拆分后,arr2[0]就代表cookie的name名称,arr[1]就代表cookie的value值if(arr2[0]==name){return arr2[1];}}return '';//当用户是第一次进入网站,根本就还没有cookie的时候,返回一个空的字符串};window.onload=function(){var oForm=document.getElementById('form1');var oUser=document.getElementsByName('user')[0];oForm.onsubmit=function(){//存cookiesetCookie('user',oUser.value,1);//设置1天后过期};//再次登陆时读取cookieoUser.value=getCookie('user');};
这样当第一次登录时就会把用户名记住,并跳转到百度,当再次打开页面时就会自动显示之前输入的用户名了,密码设置也是同理。


Author:致知

Sign:路漫漫其修远兮,吾将上下而求索。

0 0