js实现cookie记住密码

近来做记住密码时,用js的实现方式做了一下。

login.jsp页面代码

[html] view plain copy

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
  5. %>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  8. <head>
  9. <base href="<%=basePath%>" />
  10. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  11. <link rel="stylesheet" href="./css/login.css" />
  12. <title>登录</title>
  13. <!-- 引入js-->
  14. <script src="./js/lib/jquery-1.8.0.min.js" type="text/javascript" ></script>
  15. <script src="./js/backjs/login.js" type="text/javascript" ></script>
  16. </head>
  17. <body>
  18. <div class="warp">
  19. <img src="./images/bf.png" alt="" />
  20. <div class="window">
  21. <div class="loginWindow"></div>
  22. <div class="loginWindowContent">
  23. <form action="#"  id="loginForm">
  24. <label for="" class="weicome">欢迎登录xxx系统</label>
  25. <label for="" class="slogan">智能随行    随到随停</label>
  26. <label for="" class="input"> <i> <span></span></i>
  27. <input type="text" placeholder="请输入用户名/手机号码" name="name" id="name" />
  28. </label>
  29. <label for="" class="input" style="margin-top:30px;"> <i><span style="background: url(./images/lock.png) no-repeat;"></span></i>
  30. <input type="password" placeholder="请输入密码" name="password" id="password"/>
  31. </label>
  32. <label for="" class="savePass">
  33. <input type="checkbox" value="savePW" name="savePW" id="savePW"/>记住密码 <a href="home/resetPwdUI">忘记登录密码?</a>
  34. </label>
  35. <label for="" class="sub">
  36. <p style="color: red" id="loginMes"></p>
  37. <input type="button" value="登录" id="login_BTN"/>
  38. </label>
  39. <label for="" class="reg">还不是智停车会员,<a href="home/registerUI"><b>点击免费注册</b>>></a></label>
  40. </form>
  41. </div>
  42. </div>
  43. <div class="footer">
  44. <div class="about">
  45. <b><a href="">关于xxx</b>
  46. </div>
  47. </div>
  48. </div>
  49. </body>
  50. </html>

login.js文件

[javascript] view plain copy

  1. /**
  2. * 登录js
  3. */
  4. $().ready(function(){
  5. var loginSum = 0;
  6. //点击登录按钮事件
  7. $("#login_BTN").unbind("click");
  8. $("#login_BTN").bind("click",function(){
  9. //修改页面消息显示
  10. $("#loginMes").text("正在登陆。。。");
  11. //获取表单数据
  12. var data = $("#loginForm");
  13. var jsonData = data.serialize();
  14. var name = data.find("input[name=‘name‘]").val();
  15. var password = data.find("input[name=‘password‘]").val();
  16. var savePW = data.find("input[name=‘savePW‘]").val();
  17. if(name == ‘‘ || name == null){
  18. $("#loginMes").text("用户名不能为空");
  19. return;
  20. };
  21. if(password == ‘‘ || password == null){
  22. $("#loginMes").text("密码不能为空");
  23. return;
  24. };
  25. //判断重复提交
  26. if(loginSum == 1){
  27. //重复提交
  28. $("#loginMes").text("正在登陆,请稍候");
  29. return;
  30. };
  31. if(loginSum == 0){
  32. loginSum = 1;
  33. };
  34. //提交
  35. $.ajax({
  36. url:"home/login",
  37. type:‘POST‘,
  38. data:jsonData,
  39. dataType:‘json‘,
  40. error:function(){
  41. alert("出错了!!");
  42. loginSum = 0;
  43. },
  44. success:function (data){
  45. if(data.code == 0){
  46. //保存密码
  47. SetPwdAndChk();
  48. $("#loginMes").text("登录成功,正在跳转。。。");
  49. window.location.href="main/home";
  50. }else{
  51. $("#loginMes").text("登录失败,用户名或密码错误!");
  52. loginSum = 0;
  53. };
  54. }
  55. });
  56. });
  57. //用户名失去焦点时调用该方法
  58. $("#name").unbind("blur");
  59. $("#name").bind("blur",function(){
  60. GetPwdAndChk();
  61. });
  62. //=============js cookie===============
  63. GetLastUser();
  64. function GetLastUser() {
  65. var id = "49BAC005-7D5B-4231-8CEA-16939BEACD67";
  66. var usr = GetCookie(id);
  67. if (usr != null) {
  68. document.getElementById(‘name‘).value = usr;
  69. } else {
  70. //document.getElementById(‘name‘).value = "001";
  71. }
  72. GetPwdAndChk();
  73. };
  74. //点击登录时触发客户端事件
  75. function SetPwdAndChk() {
  76. //取用户名
  77. var usr = document.getElementById(‘name‘).value;
  78. //alert(usr);
  79. //将最后一个用户信息写入到Cookie
  80. SetLastUser(usr);
  81. //如果记住密码选项被选中
  82. var checked = document.getElementById(‘savePW‘).checked;
  83. if (checked == true) {
  84. //取密码值
  85. var pwd = document.getElementById(‘password‘).value;
  86. //alert(pwd);
  87. var expdate = new Date();
  88. expdate.setTime(expdate.getTime() + 14 * (24 * 60 * 60 * 1000));
  89. //将用户名和密码写入到Cookie
  90. SetCookie(usr, pwd, expdate);
  91. } else {
  92. //如果没有选中记住密码,则立即过期
  93. ResetCookie();
  94. }
  95. };
  96. function SetLastUser(usr) {
  97. var id = "49BAC005-7D5B-4231-8CEA-16939BEACD67";
  98. var expdate = new Date();
  99. //当前时间加上两周的时间
  100. expdate.setTime(expdate.getTime() + 14 * (24 * 60 * 60 * 1000));
  101. SetCookie(id, usr, expdate);
  102. };
  103. //用户名失去焦点时调用该方法
  104. function GetPwdAndChk() {
  105. var usr = document.getElementById(‘name‘).value;
  106. var pwd = GetCookie(usr);
  107. if (pwd != null) {
  108. document.getElementById(‘savePW‘).checked = true;
  109. document.getElementById(‘password‘).value = pwd;
  110. } else {
  111. document.getElementById(‘savePW‘).checked = false;
  112. document.getElementById(‘password‘).value = "";
  113. }
  114. };
  115. //取Cookie的值
  116. function GetCookie(name) {
  117. var arg = name + "=";
  118. var alen = arg.length;
  119. var clen = document.cookie.length;
  120. var i = 0;
  121. while (i < clen) {
  122. var j = i + alen;
  123. //alert(j);
  124. if (document.cookie.substring(i, j) == arg)
  125. return getCookieVal(j);
  126. i = document.cookie.indexOf(" ", i) + 1;
  127. if (i == 0)
  128. break;
  129. }
  130. return null;
  131. };
  132. function getCookieVal(offset) {
  133. var endstr = document.cookie.indexOf(";", offset);
  134. if (endstr == -1)
  135. endstr = document.cookie.length;
  136. return unescape(document.cookie.substring(offset, endstr));
  137. };
  138. //写入到Cookie
  139. function SetCookie(name, value, expires) {
  140. var argv = SetCookie.arguments;
  141. //本例中length = 3
  142. var argc = SetCookie.arguments.length;
  143. var expires = (argc > 2) ? argv[2] : null;
  144. var path = (argc > 3) ? argv[3] : null;
  145. var domain = (argc > 4) ? argv[4] : null;
  146. var secure = (argc > 5) ? argv[5] : false;
  147. document.cookie = name
  148. + "="
  149. + escape(value)
  150. + ((expires == null) ? "" : ("; expires=" + expires
  151. .toGMTString()))
  152. + ((path == null) ? "" : ("; path=" + path))
  153. + ((domain == null) ? "" : ("; domain=" + domain))
  154. + ((secure == true) ? "; secure" : "");
  155. };
  156. function ResetCookie() {
  157. var usr = document.getElementById(‘name‘).value;
  158. var expdate = new Date();
  159. SetCookie(usr, null, expdate);
  160. };
  161. });
  162. 转自:http://blog.csdn.net/u013614451/article/details/42201799
时间: 2024-12-22 16:36:02

js实现cookie记住密码的相关文章

【猪猪】Struts2+Cookie记住密码免登陆Demo,部署即可使用,注释齐全,开发必备!

原文:[猪猪]Struts2+Cookie记住密码免登陆Demo,部署即可使用,注释齐全,开发必备! 源代码下载地址:http://www.zuidaima.com/share/1550463533288448.htm http://localhost:8686/cookie/ 访问即可查看使用,端口号修改为自己的. 有问题可以留言,Cookie类已经提出,可移植性强.

Cookie记住密码

1.导入包jquery.cookie.js 2.存cookie 以用户名作为cookie的name,密码作为值存储. 如果出现存的值一直undefined,则将secure值取false; //记住密码 if ($('#remenber').is(':checked')) { var COOKIE_NAME = $("#username").val(); var COOKIE_VALUE = $("#password").val(); $.cookie(COOKIE

jquery.cookie.js实现cookie记住用户名和密码

记得导入 <script src="jquery.js" type="text/javascript"></script> <script src="jquery.cookie.js" type="text/javascript"></script> 先看表单里面的内容,有一个checkbox复选框 <form class="form-signin"&g

简单使用cookie记住密码

加上这个函数: <SCRIPT LANGUAGE="JavaScript"> function getCookiesPWD() {    document.subform.pwd.style.color='#000'     var password = "";         var cookies = document.cookie.split(";");         //cookies=request.getCookies(

JS防止浏览器记住密码

<li><input name="" type="text"  onfocus="this.type='password'" class="loginpwd" value="密码" onclick="JavaScript:this.value=''"/></li> 默认输入域的类型为text,在获得焦点的时候将其类型改为password

关于记住密码~~!

Js部分 $(function () { //记住密码功能 var str = getCookie("loginInfo"); var username = str.split("+")[0]; var password = str.split("+")[1]; //自动填充用户名和密码 $("#loginUsername").textbox("setValue", username); $("#

危险,不要随意让网站记住密码自动登陆!

为了方便用户登录,几乎所有的网站都实现了"记住密码"."自动登陆"这样似乎人性化的功能. 我也很喜欢这个功能,因为我自己的脑子实在是讨厌记东西. 为了安全起见,我的密码都设置的很复杂,满足"数字+特殊符号+英文字母大小写". 但密码一复杂,我就总记不住,就想让网站替我记住. 但殊不知,这背后隐藏着巨大的风险. 我先劝大家一声:"危险,不要随意让网站记住密码自动登陆!" 要了解事情的真相,请随我来看一看如何利用cookie实现记

js中利用cookie实现记住密码功能

js中利用cookie实现记住密码功能 在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: 1 HttpServletRequest request 2 HttpServletResponse response 3 Cookie username = new Cookie("username ","cookievalue"); 4 Cookie password = new Cookie("password

通过js来设置cookie和读取cookie,实现登陆时记住密码的功能

function setCookie(){ //设置cookie var loginCode = $("#login_code").val(); //获取用户名信息 var pwd = $("#login_password").val(); //获取登陆密码信息 var checked = $("[name='checkbox']:checked");//获取“是否记住密码”复选框 if(checked && checked.le