jQuery cookie 实现记住用户名和密码功能

HTML代码

<div class="wrap">
<div class="line-top"></div>
<div class="line-right"></div>
<div class="line-bottom"></div>
<div class="line-left"></div>
<div class="keyboard"></div>
<div class="box">
<div class="title">
<div class="logo"></div>
<h1>森林防火信息管理系统</h1>
</div>
<div class="user">
<div class="txt">
<i class="iconfont username"></i><label for="">用户名:</label>
</div>
<div class="input">
<input type="text" class="username" placeholder="请输入用户名" name="userName" id="userName" value="">
</div>
</div>
<div class="pwd">
<div class="txt">
<i class="iconfont password"></i><label for="">密<i style="width:1em"></i>码:</label>
</div>
<div class="input">
<input type="password" class="password" placeholder="请输入密码" name="passWord" id="passWord" value="">
</div>
</div>
<div class="login">
<input type="button" tabindex="1" id="btn-login" onclick="login.erification()" value="登录">
<div class="verif">
<input type="text" id="txt_code" placeholder="验证码">
<div class="verification"><img style="margin-top:13px;" id="imgyzm" /></div>
</div>
</div>
<div class="reme-key">
<input type="checkbox" name="" onclick="cookierRmemberPassword()" id="remember-password"><label for="remember-password">记住密码</label>
</div>
</div>
</div>

 

JS功能代码

function rememberPassword() {
//存储变量
this.username = $('#userName').val();
this.password = $('#passWord').val();
this.cookie;
if (!!$.cookie('user')) {
this.cookie = eval($.cookie('user'));
} else {
$.cookie('user', '[]');
this.cookie = eval($.cookie('user'));
};
}
rememberPassword.prototype = {
cookieInit: function() { //初始化
var temp = this.cookie,
username = this.username,
start = false;
console.log(temp);
if (temp.length > 0) {
$.each(temp, function(i, item) {
if (item.first == true) {
$('#userName').val(item.username);
$('#passWord').val(item.password);
$('#remember-password').attr('checked', true)
}
});
}
$('#userName').blur(function() {
console.log('失去焦点');
//检查是否存在该用户名,存在则赋值,不存在则不做任何操作
$.each(temp, function(i, item) {
if (item.username == $('#userName').val()) {
$('#userName').val(item.username);
$('#passWord').val(item.password);
$('#remember-password').attr('checked', true)
start = true;
return false;
} else {
$('#passWord').val('');
} });
});
},
//记住密码
cookieRemeber: function() {
var temp = this.cookie,
username = this.username,
password = this.password,
start = false;
//检测用户是否存在
$.each(temp, function(i, item) {
if (item.username == username) {
//记录最后一次是谁登录的
item.first = true;
$('#passWord').val(item.password);
start = true;
return;
} else {
item.first = false;
}
});
//不存在就把用户名及密码保存到cookie中
if (!start) {
temp.push({
username: username,
password: password,
first: true
});
}
//存储到cookie中
$.cookie('user', JSON.stringify(temp));
},
//删除密码
cookieDelete: function() {
var temp = this.cookie,
username = this.username,
num = 0;
//检测用户是否存在
$.each(temp, function(i, item) {
if (item.username === username) {
num = i;
}
});
//删除里面的密码
temp.splice(num, 1);
//存储到cookie中
$.cookie('user', JSON.stringify(temp));
}
}

用户登录成功后加入这段代码

if ($('#remember-password').attr('checked')) {
var cookie = new rememberPassword();
cookie.cookieRemeber();
}

初始化代码

$(document).ready(function () {
//移除密码
$('#remember-password').click(function () {
if (!$('#remember-password').attr('checked')) {
var cookie = new rememberPassword();
cookie.cookieDelete();
}
});
//cookie记住密码
var cookie = new rememberPassword();
cookie.cookieInit();
});

  

注意:如果站点有登录登出功能,切记登出路劲与登录路劲一模一样,因为cookie存在路径,必须在同一个路径下才能读取到内容

 

jQuery cookie 实现记住用户名和密码功能的更多相关文章

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

    1.当第一次发送请求时,在jsp页面并不能获取cookie对象,第一次是addCookie,之后再请求时才能获得. session和sessionid在服务器端生成的时候,同时把sessionID放在 ...

  2. Java实现应用程序记住用户名、密码功能

    1.      从网上下载jquery.cookie.js,拷贝到应用程序中. 2.      登录页面(login.jsp)导入jquery.cookie.js <script type=&q ...

  3. Java:Cookie实现记住用户名、密码

    package com.gamecenter.api.util; import java.io.IOException; import java.io.PrintWriter; import java ...

  4. OpenVPN 如何记住用户名和密码

    最近在使用OpenVPN,但是没有记住用户名和密码功能,太坑人,研究一下发现是可以的. 1. 在OpenVPN安装目录下\OpenVPN\config文件夹中找到vpnserver.ovpn文件. 2 ...

  5. 通过jquery.cookie.js实现记住用户名、密码登录功能

    Cookies 定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery.cookie.js基于jquery:先引入jquery,再引入:jq ...

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

    记得导入 <script src="jquery.js" type="text/javascript"></script> <sc ...

  7. ASP.NET中登录时记住用户名和密码(附源码下载)--ASP.NET

    必需了解的:实例需要做的是Cookie对象的创建和对Cookie对象数据的读取,通过Response对象的Cookies属性创建Cookie,通过Request对象的Cookies可以读取Cookie ...

  8. (转)ASP.NET里面简单的记住用户名和密码

    using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using S ...

  9. TortoiseGit:记住用户名和密码

    1.背景: 我们在使用 tortoisegit 工具时会无可避免的经常性 pull 和 push,这时通常要输入用户名和密码,由于麻烦,就有人提出了记住用户名和密码的需求... ... 2.设置: [ ...

随机推荐

  1. Junit的各种断言

    JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言.下面我们来介绍一下JUnit的各种断言. 1.assertEquals 函 ...

  2. 【整理】Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码

    转自:http://www.crifan.com/python_already_got_correct_encoding_string_but_seems_print_messy_code/ [背景] ...

  3. iOS 日志系统 本地日志打包上传到服务器

    日志系统主要包含两个部分 1.本地保存 我们知道NSLog打印的日志一般都是直接输出到控制台,开发人员可以在控制台直接看到实时打印的log,既然可以在控制台输出,那么能否将日志输出到其他地方呢,比如说 ...

  4. PorterDuffXferMode不对的真正原因PorterDuffXferMode深入试验)

    菜鸡wing遇敌PorterDuffXferMode,不料过于轻敌,应战吃力. 随后与其大战三天三夜.三百余回合不分胜负. 幸得 @咪咪控 相助,侥幸获胜. keyword:PorterDuffXfe ...

  5. 小白学习HTTPS

    如果你和我一样是HTTPS的小白的话,那就一起来学习这个吧.争取把这篇博客写好,写全面,从原理到实践再到部署. 让我们先来模拟一个场景:当你嗨皮地敲着代码,你的老板偷偷摸摸跑到你的身边,"小 ...

  6. udp广播和多播

    使用UDP协议进行信息的传输之前不需要建立链接, 客户端向服务器发送信息时,客户端只需要给出服务器的ip地址和端口号,可以发送信息.至于服务器端是否存在,是否能够收到该报文,客户端根本不用管. 广播( ...

  7. Mysql主从配置笔记

    1.配置my.cnf无效,且mysql进程无法启动 从5.1.7版本开始,不再支持my.cnf直接配置master-host等主从相关配置选项(依然支持replicate-do-db).改为使用 CH ...

  8. Template Method模式

    模版方法模式,实际上就是指子类做方法实现,父类做算法实现. 通常情况下,子类继承父类,我们是站在子类的视角上来看父类的,目的不外乎下面三个 1,子类继承父类的方法 2,通过子类来增加方法,实现新的功能 ...

  9. erlang 求N以内的质数

    素数,又称质数,在一个大于1的自然数中,除了1和此整数自身之外,不能被其他自然数整除的数. 比1大但不是素数的数称为合数. 1和0既不是素数,也不是合数. 算术基本定理证明每个大于1的正整数都可以写成 ...

  10. Windows 7 里进程管理器里面的各列是什么含义?主要是和内存有关的内存-专用工作集,内存-工作集,内存-提交大小???

    内存 - 工作集:私人工作集中的内存数量与进程正在使用且可以由其他进程共享的内存数量的总和. 内存 - 峰值工作集:进程所使用的工作集内存的最大数量. 内存 - 工作集增量:进程所使用的工作集内存中的 ...