JS使用cookie保存用户登录信息操作示例
本文实例讲述了JS使用cookie保存用户登录信息。分享给大家供大家参考,具体如下:
通常cookie和session,是web开发中用于存储信息的对象,session存在于服务器的内存中,而cookie则是存在客户端,所以js可以直接操作cookie进行信息的存储和读取。
js存放cookie一般的写法,如:document.cookie="userName=admin";,如果是多个键值对:document.cookie="userName=admin;userPass=123";
下面是js操作cookie保存用户的登录信息:
无标题文档 functionaddCookie(name,value,days,path){/**添加设置cookie**/ varname=escape(name); varvalue=escape(value); varexpires=newDate(); expires.setTime(expires.getTime()+days*3600000*24); //path=/,表示cookie能在整个网站下使用,path=/temp,表示cookie只能在temp目录下使用 path=path==""?"":";path="+path; //GMT(GreenwichMeanTime)是格林尼治平时,现在的标准时间,协调世界时是UTC //参数days只能是数字型 var_expires=(typeofdays)=="string"?"":";expires="+expires.toUTCString(); document.cookie=name+"="+value+_expires+path; } functiongetCookieValue(name){/**获取cookie的值,根据cookie的键获取值**/ //用处理字符串的方式查找到key对应value varname=escape(name); //读cookie属性,这将返回文档的所有cookie varallcookies=document.cookie; //查找名为name的cookie的开始位置 name+="="; varpos=allcookies.indexOf(name); //如果找到了具有该名字的cookie,那么提取并使用它的值 if(pos!=-1){//如果pos值为-1则说明搜索"version="失败 varstart=pos+name.length;//cookie值开始的位置 varend=allcookies.indexOf(";",start);//从cookie值开始的位置起搜索第一个";"的位置,即cookie值结尾的位置 if(end==-1)end=allcookies.length;//如果end值为-1说明cookie列表里只有一个cookie varvalue=allcookies.substring(start,end);//提取cookie的值 return(value);//对它解码 }else{//搜索失败,返回空字符串 return""; } } functiondeleteCookie(name,path){/**根据cookie的键,删除cookie,其实就是设置其失效**/ varname=escape(name); varexpires=newDate(0); path=path==""?"":";path="+path; document.cookie=name+"="+";expires="+expires.toUTCString()+path; } /**实现功能,保存用户的登录信息到cookie中。当登录页面被打开时,就查询cookie**/ window.onload=function(){ varuserNameValue=getCookieValue("userName"); document.getElementById("txtUserName").value=userNameValue; varuserPassValue=getCookieValue("userPass"); document.getElementById("txtUserPass").value=userPassValue; } functionuserLogin(){/**用户登录,其中需要判断是否选择记住密码**/ //简单验证一下 varuserName=document.getElementById("txtUserName").value; if(userName==''){ alert("请输入用户名。"); return; } varuserPass=document.getElementById("txtUserPass").value; if(userPass==''){ alert("请输入密码。"); return; } varobjChk=document.getElementById("chkRememberPass"); if(objChk.checked){ //添加cookie addCookie("userName",userName,7,"/"); addCookie("userPass",userPass,7,"/"); alert("记住了你的密码登录。"); window.location.href="http://www.baidu.com"; }else{ alert("不记密码登录。"); window.location.href="http://www.baidu.com"; } } 欢迎使用XXX管理系统 是否记住密码