javascript记住用户名和登录密码(两种方式)


Posted in Javascript onAugust 04, 2015

下面主要通过代码给大家展示下javascript记住用户名和登录密码,具体代码内容请看下文。

第一种方式:

CONTENT
    login.html
    welcome.html
    cookie.js
    common.js

login.html

<!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=gb2312" />
<title>login</title>
<script type="text/javascript" src="cookie.js"></script>
<script type="text/javascript" src="common.js"></script>
</head>
<body>
<form action="">
<p>
  <span>UserName:</span>
  <input id="userName" type="text" value=""/></p>
<p>
  <span>Password:</span>
  <input id="password" type="password" value=""/></p>
<p>
  <span style="font-size:12px; color:blue;">记住密码</span>
  <input id="saveCookie" type="checkbox" value="" /></p>
<p>
  <input id="submit" type="button" value="GO" />
</p>
</form>
</body>
</html>

welcome.html

<!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=gb2312" />
<title>welcome</title>
</head>
<body>
<h1>Welcome!</h1>
<a href="login.html">点击返回登陆框</a>
</body>
</html>
cookie.js
//新建cookie。
//hours为空字符串时,cookie的生存期至浏览器会话结束。hours为数字0时,建立的是一个失效的cookie,这个cookie会覆盖已经建立过的同名、同path的cookie(如果这个cookie存在)。
function setCookie(name,value,hours,path){
  var name = escape(name);
  var value = escape(value);
  var expires = new Date();
   expires.setTime(expires.getTime() + hours*3600000);
   path = path == "" ? "" : ";path=" + path;
   _expires = (typeof hours) == "string" ? "" : ";expires=" + expires.toUTCString();
   document.cookie = name + "=" + value + _expires + path;
}
//获取cookie值
function getCookieValue(name){
  var name = escape(name);
  //读cookie属性,这将返回文档的所有cookie
  var allcookies = document.cookie;    
  //查找名为name的cookie的开始位置
   name += "=";
  var pos = allcookies.indexOf(name);  
  //如果找到了具有该名字的cookie,那么提取并使用它的值
  if (pos != -1){                       //如果pos值为-1则说明搜索"version="失败
    var start = pos + name.length;         //cookie值开始的位置
    var end = allcookies.indexOf(";",start);    //从cookie值开始的位置起搜索第一个";"的位置,即cookie值结尾的位置
    if (end == -1) end = allcookies.length;    //如果end值为-1说明cookie列表里只有一个cookie
    var value = allcookies.substring(start,end); //提取cookie的值
    return (value);              //对它解码   
     }  
  else return "";                //搜索失败,返回空字符串
}
//删除cookie
function deleteCookie(name,path){
  var name = escape(name);
  var expires = new Date(0);
   path = path == "" ? "" : ";path=" + path;
   document.cookie = name + "="+ ";expires=" + expires.toUTCString() + path;
}

common.js

function $(objStr){return document.getElementByIdx_x_x(objStr);}
window.onload = function(){
  //分析cookie值,显示上次的登陆信息
  var userNameValue = getCookieValue("userName");
   $("userName").value = userNameValue;
  var passwordValue = getCookieValue("password");
   $("password").value = passwordValue;  
  //写入点击事件
   $("submit").onclick = function()
   {
    var userNameValue = $("userName").value;
    var passwordValue = $("password").value;
    //服务器验证(模拟)  
    var isAdmin = userNameValue == "admin" && passwordValue =="123456";
    var isUserA = userNameValue == "userA" && passwordValue =="userA";
    var isMatched = isAdmin || isUserA;
    if(isMatched){
      if( $("saveCookie").checked){ 
         setCookie("userName",$("userName").value,24,"/");
         setCookie("password",$("password").value,24,"/");
       }  
       alert("登陆成功,欢迎你," + userNameValue + "!");
       self.location.replace("welcome.html");
     }
    else alert("用户名或密码错误,请重新输入!");  
   }
}

第二种方式:

<script type="text/javascript">
window.onload=function onLoginLoaded() {
if(isPostBack == "False") {
GetLastUser();
}
}
function GetLastUser() {
var id = "49BAC005-7D5B-4231-8CEA-16939BEACD67";//GUID标识符
var usr = GetCookie(id);
if (usr != null) {
document.getElementById('txtUserName').value = usr;
} 
else {
document.getElementById('txtUserName').value = "001";
}
GetPwdAndChk();
}
//点击登录时触发客户端事件
function SetPwdAndChk() {
//取用户名
var usr = document.getElementById('txtUserName').value;
alert(usr);
//将最后一个用户信息写入到Cookie
SetLastUser(usr);
//如果记住密码选项被选中
if(document.getElementById('chkRememberPwd').checked == true) {
//取密码值
var pwd = document.getElementById('txtPassword').value;
alert(pwd);
var expdate = new Date();
expdate.setTime(expdate.getTime() + 14 * (24 * 60 * 60 * 1000));
//将用户名和密码写入到Cookie
SetCookie(usr, pwd, expdate);
} 
else {
//如果没有选中记住密码,则立即过期
ResetCookie();
}
}
function SetLastUser(usr) {
var id = "49BAC005-7D5B-4231-8CEA-16939BEACD67";
var expdate = new Date();
//当前时间加上两周的时间
expdate.setTime(expdate.getTime() + 14 * (24 * 60 * 60 * 1000));
SetCookie(id, usr, expdate);
}
//用户名失去焦点时调用该方法
function GetPwdAndChk() {
var usr = document.getElementById('txtUserName').value;
var pwd = GetCookie(usr);
if (pwd != null) {
document.getElementById('chkRememberPwd').checked = true;
document.getElementById('txtPassword').value = pwd;
} 
else {
document.getElementById('chkRememberPwd').checked = false;
document.getElementById('txtPassword').value = "";
}
}
//取Cookie的值
function GetCookie(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
//alert(j);
if (document.cookie.substring(i, j) == arg) return getCookieVal(j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
var isPostBack = "<%= IsPostBack %>";
function getCookieVal(offset) {
var endstr = document.cookie.indexOf(";", offset);
if (endstr == -1) endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
//写入到Cookie
function SetCookie(name, value, expires) {
var argv = SetCookie.arguments;
//本例中length = 3
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
}
function ResetCookie() {
var usr = document.getElementById('txtUserName').value;
var expdate = new Date();
SetCookie(usr, null, expdate);
}
</script>
</head>
<body>
<form id="form1">
<div> 
用户名:<input type="text" ID="txtUserName" onblur="GetPwdAndChk()">
<input type="password" ID="txtPassword">
密码:
<input type="checkbox" ID="chkRememberPwd" />
记住密码
<input type="button" OnClick="SetPwdAndChk()" value="进入"/>
</div>
</form>
</body>

以上就是用两种方式展示javascript记住用户名和登录密码的全部代码,没有来得及整理运行效果图,希望大家能够喜欢。

Javascript 相关文章推荐
Javascript简单实现可拖动的div
Oct 22 Javascript
window.onload追加函数使用示例
Mar 03 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
Dec 08 Javascript
jQuery实现跨域iframe接口方法调用
Mar 14 Javascript
js数组去重的5种算法实现
Nov 04 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
Dec 29 Javascript
使用Angular.js开发的注意事项
Oct 19 Javascript
巧用数组制作图片切换js代码
Nov 29 Javascript
微信小程序实现topBar底部选择栏效果
Jul 20 Javascript
从源码里了解vue中的nextTick的使用
Nov 22 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
May 24 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
Sep 25 Javascript
js实现简易的单数字随机抽奖(0-9)
Mar 19 #Javascript
JavaScript运动减速效果实例分析
Aug 04 #Javascript
JavaScript仿静态分页实现方法
Aug 04 #Javascript
JavaScript实现选择框按比例拖拉缩放的方法
Aug 04 #Javascript
Javascript实现可旋转的圆圈实例代码
Aug 04 #Javascript
JavaScript数组各种常见用法实例分析
Aug 04 #Javascript
基于Jquery实现表单验证
Jul 20 #Javascript
You might like
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
javascript 面向对象思想 附源码
2009/07/07 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
JS实现浏览器状态栏文字闪烁效果的方法
2015/10/27 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
Webpack打包慢问题的完美解决方法
2017/03/16 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
Python内置函数reversed()用法分析
2018/03/20 Python
详解Python 正则表达式模块
2018/11/05 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
《谁的本领大》教后反思
2014/04/25 职场文书
施工安全生产承诺书
2014/05/23 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
三八红旗手主要事迹材料
2015/11/04 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫