JavaScript登录记住密码

本文介绍了一个简单的网页登录表单,该表单使用HTML和JavaScript实现了记住密码的功能。当用户选择‘记住密码’选项并成功登录后,其用户名和密码将以Cookie的形式存储在用户的浏览器中,以便下次访问时自动填充。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>记住密码</title>
</head>
<body>
<form id="loginForm">
    <input id="user" type="text" placeholder="用户名"><br>
    <input id="pswd" type="password" placeholder="密码"><br>
    <label><input id="remember" type="checkbox">记住密码</label><br>
    <input type='submit' value="登录">
</form>
<script>
    window.onload = function(){
        var oForm = document.getElementById('loginForm');
        var oUser = document.getElementById('user');
        var oPswd = document.getElementById('pswd');
        var oRemember = document.getElementById('remember');

        //页面初始化时,如果帐号密码cookie存在则填充
        if(getCookie('user') && getCookie('pswd')){
            oUser.value = getCookie('user');
            oPswd.value = getCookie('pswd');
            oRemember.checked = true;
        }

        //复选框勾选状态发生改变时,如果未勾选则清除cookie
        oRemember.onchange = function(){
            if(!this.checked){
                delCookie('user');
                delCookie('pswd');
            }
        };

        //表单提交事件触发时,如果复选框是勾选状态则保存cookie
        oForm.onsubmit = function(){
            if(remember.checked){ 
                setCookie('user',oUser.value,7); //保存帐号到cookie,有效期7天
                setCookie('pswd',oPswd.value,7); //保存密码到cookie,有效期7天
            }
        };
    };

    //设置cookie
    function setCookie(name,value,day){
        var date = new Date();
        date.setDate(date.getDate() + day);
        document.cookie = name + '=' + value + ';expires='+ date;
    };

    //获取cookie
    function getCookie(name){
        var reg = RegExp(name+'=([^;]+)');
        var arr = document.cookie.match(reg);
        if(arr){
            return arr[1];
        }else{
            return '';
        }
    };

    //删除cookie
    function delCookie(name){
        setCookie(name,null,-1);
    };
</script>
</body>
</html>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值