jQuery cookie记住用户名密码自动登录

1、导入两个js文件

  1)、jquery-1.4.js

  2)、jquery.cookie.js

2、login.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport"
    content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

<script type="text/javascript"
    src="${pageContext.request.contextPath}/js/jquery-1.4.js"></script>
<script type="text/javascript"
    src="${pageContext.request.contextPath}/js/jquery.cookie.js"></script>
<script type="text/javascript">

    function addCookie(name, value, days, path) {
        /**添加设置cookie**/
        var name = escape(name);
        var value = escape(value);
        var expires = new Date();
        //设置cookie保存的时间
        expires.setTime(expires.getTime() + days * 3600000 * 24);
        //path=/,表示cookie能在整个网站下使用,path=/temp,表示cookie只能在temp目录下使用
        path = path == "" ? "" : ";path=" + path;
        //GMT(Greenwich Mean Time)是格林尼治平时,现在的标准时间,协调世界时是UTC
        //参数days只能是数字型
        var _expires = (typeof days) == "string" ? "" : ";expires="
                + expires.toUTCString();
        document.cookie = name + "=" + value + _expires + path;
    }
    function getCookieValue(name) {
        /**获取cookie的值,根据cookie的键获取值**/
        //用处理字符串的方式查找到key对应value
        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 "";
        }
    }
    function deleteCookie(name, path) {
        /**根据cookie的键,删除cookie,其实就是设置其失效**/
        var name = escape(name);
        var expires = new Date(0);
        path = path == "" ? "" : ";path=" + path;
        document.cookie = name + "=" + ";expires=" + expires.toUTCString()
                + path;
    }

    /**实现功能,保存用户的登录信息到cookie中。当登录页面被打开时,就查询cookie**/
    window.onload = function(){
        //获取cookie中存放的用户名
        var userNameValue = getCookieValue("userName");
        document.getElementById("userName").value = userNameValue;
        //获取cookie中存放的密码
        var userPassValue = getCookieValue("userPass");
        document.getElementById("password").value = userPassValue;
        //如果账号密码为空则弹出提示,输入用户名密码
        if(userNameValue==""&&userPassValue==""){
            $("input[name=‘userName‘]").focus();
        //如果账号密码不为空则直接执行登录
        }else if(userNameValue!=""&&userPassValue!=""){

        var vdata = {
                userName : userNameValue,
                password : userPassValue
            };

            $.post("tevo_loginInit.action", vdata, function(data) {
                if (data == "succ") {
                    $(".login_info").show();
                    $(".login_info").html("&nbsp;&nbsp;正在登录中...");
                    location.href = "main.action";
                } else if (data == "error1") {
                    alert("用户未分配角色或权限!");
                } else if (data == "error2") {
                    alert("用户无效!");
                } else if (data == "error3") {
                    alert("用户未分配角色!");
                } else if (data == "error4") {
                    alert("用户角色未分配权限!");
                } else if (data == "error5") {
                    alert("用户所分配权限未分配功能!");
                } else {
                    alert("用户名或者密码错误,请重新输入!");
                }
            });
        }

    };
    // 回车登录
    function keyLogin() {
        $("input[name=‘userName‘]").keydown(function(event) {
            var event = arguments.callee.caller.arguments[0] || window.event;// 消除浏览器差异
            if (event.keyCode == 13) {
                $("input[name=‘password‘]").focus();
            }
        });
        $("input[name=‘password‘]").keydown(function(event) {
            if (event.keyCode == 13) {
                userLogin();
                document.getElementByIdx_x("userLogin").click();
            }
        });

    }

    function userLogin() {
        /**用户登录,其中需要判断是否选择记住密码**/
        //简单验证一下
        var userName = document.getElementById("userName").value;
        if (userName == ‘‘) {
            alert("请输入用户名!");
            return;
        }
        var userPass = document.getElementById("password").value;
        if (userPass == ‘‘) {
            alert("请输入密码!");
            return;
        }
        var objChk = document.getElementById("chkRememberPass");
        if (objChk.checked) {
            //添加cookie
            addCookie("userName", userName, 365, "/");
            addCookie("userPass", userPass, 365, "/");

            var vuserName = $("#userName").val();
            var vpassword = $("#password").val();

            if (vuserName == "" || vuserName == undefined || vuserName == null) {
                alert("用户名不能为空");
                return false;
            } else if (vpassword == "" || vpassword == undefined
                    || vpassword == null) {
                alert("密码不能为空");
                return false;
            }

            var vdata = {
                userName : vuserName,
                password : vpassword
            };

            $.post("tevo_loginInit.action", vdata, function(data) {
                if (data == "succ") {
                    $(".login_info").show();
                    $(".login_info").html("&nbsp;&nbsp;正在登录中...");
                    location.href = "main.action";
                } else if (data == "error1") {
                    alert("用户未分配角色或权限!");
                } else if (data == "error2") {
                    alert("用户无效!");
                } else {
                    alert("用户名或者密码错误,请重新输入!");
                }
            });
        } else {

            //删除cookie的内容
            deleteCookie("userName", "/");
            deleteCookie("userPass", "/");
            var vuserName = $("#userName").val();
            var vpassword = $("#password").val();

            if (vuserName == "" || vuserName == undefined || vuserName == null) {
                alert("用户名不能为空");
                return false;
            } else if (vpassword == "" || vpassword == undefined
                    || vpassword == null) {
                alert("密码不能为空");
                return false;
            }

            var vdata = {
                userName : vuserName,
                password : vpassword
            };

            $.post("tevo_loginInit.action", vdata, function(data) {
                if (data == "succ") {

                    $(".login_info").show();
                    $(".login_info").html("&nbsp;&nbsp;正在登录中...");
                    location.href = "main.action";
                } else if (data == "error1") {
                    alert("用户未分配角色或权限!");
                } else if (data == "error2") {
                    alert("用户无效!");
                } else {
                    alert("用户名或者密码错误,请重新输入!");
                }
            });
        }
    }
</script>
<title>登录</title>
<style type="text/css">
.center-in-center {
    position: absolute;
    top: 50%;
    left: 50%;
}
</style>
</head>

<body background="${pageContext.request.contextPath}/images/login.jpg"
    onkeydown="keyLogin();">

    <div class="center-in-center">
        <form id="login">
            用户名:&nbsp;&nbsp;<input type="text" name="userName" id="userName"
                placeholder="请输入用户名" /><br />
            <br /> &nbsp;密码:&nbsp;&nbsp;&nbsp;&nbsp;<input type="password"
                name="password" id="password" placeholder="请输入密码" /> <br />
            <br /> <br /> <input type="checkbox" id="chkRememberPass"
                name="chkRememberPass" style="vertical-align:middle;"
                checked="checked" /> <span
                style="font-size:12px; color:blue; vertical-align:middle;">记住密码</span>
            <br />
            <br />
            <div align="center">
                &nbsp;&nbsp;&nbsp;&nbsp;<input type="button" id="login"
                    onclick="userLogin()" value="登录" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <input type="reset" value="重置" />
            </div>
            <br />
            <div class="login_info" style="display:none;"></div>
            <div class="login_info2">&nbsp;&nbsp;</div>
        </form>
    </div>
</body>
</html>

原文地址:https://www.cnblogs.com/shoose/p/8393735.html

时间: 2024-08-11 03:24:27

jQuery cookie记住用户名密码自动登录的相关文章

实现记住用户名密码的登录界面

效果图如下: 当用户点击登录按钮时,如果用户勾选CheckBox密码复选框时,用户名与密码都被自动保存起来. MainActivity的布局文件: 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match

SharedPreferences实现自动登录记住用户名密码

最近Android项目需要一个自动登录功能,完成之后,特总结一下,此功能依靠SharedPreferences进行实现. SharedPreferences简介 SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/<包名>/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现

Jquery 实现 “下次自动登录” 记住用户名密码功能

转载自:http://blog.csdn.net/aspnet_lyc/article/details/12030039?utm_source=tuicool&utm_medium=referral Jquery将用户名密码存储到cookie中 需要导入jquery.js和jquery.cookie.js <html> <head> <title>test cookie</title> <script src="Scripts/jqu

TortoiseGit自动记住用户名密码的方法

TortoiseGit自动记住用户名密码的方法 windows下比较比较好用的git客户端有2种: msysgit + TortoiseGit(乌龟git) GitHub for Windows github的windows版也用过一段时间,但还是不太习惯.所以目前仍然青睐与msysgit+乌龟git的组合.TortoiseGit在提交时总数会提示你输入用户名密码,非常麻烦.解决方案如下: 方法一: 设置 -> git 编辑本地 .git/config 增加 [credential] helpe

struts2的记住账号密码的登录设计

一个简单的基于struts2的登录功能,实现的额外功能有记住账号密码,登录错误提示.这里写上我在设计时的思路流程,希望大家能给点建设性的意见,帮助我改善设计. 登录功能的制作,首先将jsp界面搭建出来,界面搭建出来之后,我首先想的是如何用cookie来实现记住账号密码,这里我选择的是在class中实现这个cookie. jsp页面中的checkbox标签作为一个标记参数来判断用户是否选择了记住账号和密码,在登录提交之后,伴随着登录的账号.密码.激活码一起传递到action中,checkbox选中

win7如何不用点击用户名 直接自动登录桌面

win7如何不用点击用户名 直接自动登录桌面 在win7系统中开机时必须点击相应的用户名才能登陆系统桌面那么如何取消这一功能使当前账户自动登录到系统桌面呢? 1 .在开始菜单搜索框输入 “netplwiz” 按回车,打开高级用户控制面板: 2.在高级用户控制面板中,取消对“要使用本机,用户需输入用户名和密码(E)”项的勾选: 3.系统将弹出窗口要求输入默认登录系统的用户名和密码,输入完成后点击确定: 4.重启Windows 7,即可发现系统自动以默认用户登录 自动登录只能选一个账户即只能对一个账

Windows下让Git记住用户名密码(https)

最近开始跟老板共同维护公司的框架代码,于是毫不犹豫地选择了Git这个驰名的版本控制系统(公司使用的是TFS,但外网访问老是断线). 选择的托管平台是OSChina,原因是其可以新建私有项目. 在拉取和推送代码时用的是https,但是可恨的是每次都要输入用户名密码. 程序员生来就是解决问题的. 解决方法是:打开个人文件夹,一般为C:\Documents and Settings\用户名,其中有一个.gitconfig的文件,使用记事本打开.如果之前配置了名字和email的话,在这里面会看到. 我们

shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录sshpass 应用实践

在很多实践项目中,我们经常会通过SSH来进行认证,如通过SSH拷贝文件,虽然我们可以使用公钥与私钥实现ssh 无密码登录,在不同的服务器上又需要配对相应的密钥,切换用户麻烦等问题,在一些需要交互但会涉及到批量处理的时候,通过shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录会大大的提高工作效率 #! /bin/bash ############################################## #Author:                

jquery记住密码,记住账号,自动登录

1.引入jquery库 2.引入jquery.cookie.js库 3.引入操作js jsp如下: $(document).ready(function() { //输入框获得焦点-失去焦点 $(".oaText").focus(function(){ oaFocus(".oaText","请输入用户名"); }); $(".oaText").blur(function(){ oaBlur(".oaText"