jQuery cookie 實現記住用戶名和密碼功能


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存在路徑,必須在同一個路徑下才能讀取到內容

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM