javaScript学习笔记

复制代码
关于表单验证的简单实践
注意点:
  1.函数的使用
  如果在script中需要调用某个function,例如checkUserName(),请确保在定义该函数时的写法为

  如果写成

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<!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>表单验证</title>
</head>
 
<body>
    <form action="#" id="for1" align="center" method="GET">
        <h2>欢迎注册</h2>
        <h4>已有账号,登录</h4>
        用户名:<input type="text" name="tex1" id="username"><br>
        <span id="username_err" class="err_msg" style="display: none">用户名格式错误</span><br>
        密码:<input type="password" name="tex2" id="password"><br>
        <span id="password_err" class="err_msg" style="display: none">密码格式错误</span><br>
        手机号:<input type="text" name="tex3" id="tel"><br>
        <span id="tel_err" class="err_msg" style="display: none">密码格式错误</span><br>
        <input type="submit" value="注册"><br>
        <input type="button" onclick="on()" id="99" value="判断">
    </form>
    <script>
        //1.验证用户名
 
        //   var usernameInput = document.getElementById("username");
        //1.2 绑定onblur事件 失去焦点
        //   usernameInput.onblur = checkUserName;
 
        var usernameInput = document.getElementById("username");
        //  alert(usernameInput)
        //2.绑定onblur事件  失去焦点
        usernameInput.onblur = checkUserName;
        function checkUserName() {
            //3.获取用户输入的用户名
            var username = usernameInput.value.trim();
            //4.判断用户名长度是否符合规则
            var flag = username.length >= 6 && username.length <= 12;
            if (flag) {
                //符合规则
                document.getElementById("username_err").style.display = 'none';
            } else {//不符合规则
                document.getElementById("username_err").style.display = '';
            }
 
            return flag;
        }
 
        //2.密码提示信息
        var passwordInput = document.getElementById("password");
        //  alert(usernameInput)
        //2.绑定onblur事件  失去焦点
        passwordInput.onblur = checkPassword;
        function checkPassword() {
            //3.获取用户输入的用户名
            var password = passwordInput.value.trim();
            //4.判断用户名长度是否符合规则
            var flag = password.length >= 6 && password.length <= 12;
            if (flag) {
                //符合规则
                document.getElementById("password_err").style.display = 'none';
            } else {//不符合规则
                document.getElementById("password_err").style.display = '';
            }
 
            return flag;
        }
 
        var telInput = document.getElementById("tel");
        //  alert(usernameInput)
        //2.绑定onblur事件  失去焦点
        telInput.onblur = checkTel;
        function checkTel() {
            //3.获取用户输入的用户名
            var tel = telInput.value.trim();
            //4.判断用户名长度是否符合规则
            flag = (tel.length == 11);
            if (flag) {
                //符合规则
                document.getElementById("tel_err").style.display = 'none';
            } else {//不符合规则
                document.getElementById("tel_err").style.display = '';
            }
 
            return flag;
        }
 
        //4.判断提交表单前是否所有信息都符合规范
 
        // function on() {
        //     var flag = (checkUserName() && checkPassword() && checkTel());
        //     alert("111");
        //     alert(flag);
        // }
 
        var regForm = document.getElementById("for1");
        regForm.onsubmit = function checkAll() {
            var flag = (checkUserName() && checkPassword() && checkTel());
            return flag;
        }
    </script>
</body>
 
</html>

  

 
复制代码

 

posted @   冷月无心  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示