(练习) js 表单验证,登录注册

14 篇文章 0 订阅
6 篇文章 1 订阅

 


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .conter {
            margin: 0 auto;
            /* padding: 20px; */
            width: 550px;
            height: 500px;
            box-shadow: 1px 1px 3px #000;
            overflow: hidden;
        }

        input {
            width: 250px;
            height: 30px;
        }

        h1 {
            line-height: 1;
            width: 550px;
            /* height: 100px; */
            border-bottom: 5px solid #3275c3;
            margin: 0;
            padding: 20px;
        }

        p {
            margin-left: 40px;
        }

        button {
            width: 100px;
            height: 40px;
            background-color: #6291d5;
            border: 2px solid #d3e1fb;
            border-radius: 10px;
            font-size: 18px;
            color: #fff;
            margin-left: 150px;
        }

        .cuowu {
            border: 2px solid #f00;
        }

        .dui {
            border: 2px solid #3275c3;
        }
    </style>
</head>

<body>
    <div class="conter">`
        <h1>新用户注册</h1>
        <form action="">
            <p>
                <span>&emsp;用户名:</span><input type="text" id="id">
            </p>
            <p>
                <span>&emsp;&emsp;密码:</span><input type="password" id="pwd">
            </p>
            <p>
                <span>确认密码:</span><input type="password" id="pswd">
            </p>
            <p>
                <span>电子邮箱:</span><input type="text" id="you">
            </p>
            <p>
                <span>手机号码:</span><input type="text" id="shouji">
            </p>
            <p>
                <span>&emsp;&emsp;生日:</span><input type="text" id="sheng">
            </p>
            <button type="submit" id="submit">注册完成</button>
        </form>
    </div>

</body>
<script>
    var oIpt1 = document.getElementById("id");
    var oIpt2 = document.getElementById("pwd");
    var oIpt3 = document.getElementById("pswd");
    var oIpt4 = document.getElementById("you");
    var oIpt5 = document.getElementById("shouji");
    var oIpt6 = document.getElementById("sheng");
    var obtn = document.getElementById("submit");
    var false1 = false, false2 = false, false3 = false,
        false4 = false, false5 = false, false6 = false;


    // 用户名--------------------------
    oIpt1.onblur = function () {
        var zh = /^[a-zA-Z][a-zA-Z0-9]{3,15}$/;
        var val = oIpt1.value;
        if (val.length === 0) {
            alert("名字不能为空");
            false1 = false;
            oIpt1.className = "cuowu"; //条件不成立时  添加 类名(边框变红)
            return;
        } if (zh.test(val) === false) {
            alert("输入格式不对");
            false1 = false;
            oIpt1.className = "cuowu";  //条件不成立时  添加 类名(边框变红)
            return;
        } else {
            oIpt1.className = "dui"; //条件成立时  添加 类名(边框变蓝)
            false1 = true;
        }
    }

    // 密码--------------------------
    oIpt2.onblur = function () {
        var zh = /^[a-zA-Z0-9]{4,13}$/;
        var val = oIpt2.value;
        if (val.length === 0) {
            alert("名字不能为空");
            false1 = false;
            oIpt2.className = "cuowu"; //条件不成立时  添加 类名(边框变红)
            return;
        } if (zh.test(val) === false) {
            alert("输入格式不对");
            false1 = false;
            oIpt2.className = "cuowu";  //条件不成立时  添加 类名(边框变红)
            return;
        } else {
            oIpt2.className = "dui"; //条件成立时  添加 类名(边框变蓝)
            false2 = true;
        }
    }


    // 确认密码--------------------------
    oIpt3.onblur = function () {
        var val = oIpt3.value;
        if (val.length === 0) {
            alert("名字不能为空");
            false1 = false;
            oIpt3.className = "cuowu"; //条件不成立时  添加 类名(边框变红)
            return;
        } if (val !== oIpt2.value) {
            alert("输入密码不一致");
            false1 = false;
            oIpt3.className = "cuowu";  //条件不成立时  添加 类名(边框变红)
            return;
        } else {
            oIpt3.className = "dui"; //条件成立时  添加 类名(边框变蓝)
            false3 = true;
        }
    }

    // 电子邮箱--------------------------
    oIpt4.onblur = function () {
        var val = oIpt4.value;
        var zh = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        if (val.length === 0) {
            alert("邮箱不能为空");
            false4 = false;
            oIpt4.className = "cuowu"; //条件不成立时  添加 类名(边框变红)
            return;
        } if (zh.test(val) === false) {
            alert("输入邮箱格式不对");
            false4 = false;
            oIpt4.className = "cuowu";  //条件不成立时  添加 类名(边框变红)
            return;
        } else {
            oIpt4.className = "dui"; //条件成立时  添加 类名(边框变蓝)
            false4 = true;
        }
    }

    //手机号----------------------------------------------
    oIpt5.onblur = function () {
        var val = this.value;
        var zh = /^[1][0-9]{10}$/;
        if (val.length === 0) {
            alert("不能为空");
            false5 = false;
            oIpt5.className = "cuowu"; //条件不成立时  添加 类名(边框变红)
            return;
        } if (zh.test(val) === false) {
            alert("输入号码格式不对");
            false5 = false;
            oIpt5.className = "cuowu";  //条件不成立时  添加 类名(边框变红)
            return;
        } else {
            oIpt5.className = "dui"; //条件成立时  添加 类名(边框变蓝)
            false5 = true;
        }
    }

    //生日-------------------------------------------------
    oIpt6.onblur = function () {
        var val = this.value;
        var zh = /^(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)$/;
        if (val.length === 0) {
            alert("不能为空");
            false6 = false;
            oIpt6.className = "cuowu"; //条件不成立时  添加 类名(边框变红)
            return;
        } if (zh.test(val) === false) {
            alert("输入格式不对");
            false6 = false;
            oIpt6.className = "cuowu";  //条件不成立时  添加 类名(边框变红)
            return;
        } else {
            oIpt6.className = "dui"; //条件成立时  添加 类名(边框变蓝)
            false6 = true;
        }
    }


    //提交-------------------------------------------------

    obtn.onclick = function () {
        if (!false1 || !false2 || !false3 || !false4 || !false5 || !false6) {
            alert("请重新检查表单");
            return false
        }
    }

</script>

</html>

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
表单验证是 web 开发中非常常见的一项功能,它可以确保用户输入的数据符合预期,从而提高应用的安全性和可用性。下面是一个简单的 JavaScript 表单验证的示例,包括登录和注册的验证: 登录表单验证: ```html <form id="loginForm" onsubmit="return validateLoginForm()"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br> <input type="submit" value="登录"> </form> <script> function validateLoginForm() { var username = document.getElementById("username").value; var password = document.getElementById("password").value; if (username === "") { alert("请输入用户名!"); return false; } if (password === "") { alert("请输入密码!"); return false; } return true; } </script> ``` 注册表单验证: ```html <form id="registerForm" onsubmit="return validateRegisterForm()"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br> <label for="confirmPassword">确认密码:</label> <input type="password" id="confirmPassword" name="confirmPassword"><br> <input type="submit" value="注册"> </form> <script> function validateRegisterForm() { var username = document.getElementById("username").value; var password = document.getElementById("password").value; var confirmPassword = document.getElementById("confirmPassword").value; if (username === "") { alert("请输入用户名!"); return false; } if (password === "") { alert("请输入密码!"); return false; } if (confirmPassword === "") { alert("请确认密码!"); return false; } if (password !== confirmPassword) { alert("两次输入的密码不一致!"); return false; } return true; } </script> ``` 这些示例代码只是一个基本的验证,对于实际应用中的表单验证,还需要考虑更多的情况,例如输入字符的长度、格式、合法性等。同时,为了提高用户体验,也可以使用一些辅助性的库或框架来实现表单验证

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值