jqury表单验证

 

结合天天生鲜的用户注册页面,学习验证表单js

 

register.js--表单验证源码

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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
$(function(){
 
    var error_name = false;
    var error_password = false;
    var error_check_password = false;
    var error_email = false;
    var error_check = false; //是否同意页面上的那个协议选框
 
 
    $('#user_name').blur(function() { //blur表示失去焦点时去执行check_user_name来验证用户名
        check_user_name();
    });
 
    $('#pwd').blur(function() {
        check_pwd();
    });
 
    $('#cpwd').blur(function() {
        check_cpwd();
    });
 
    $('#email').blur(function() {
        check_email();
    });
 
     
     
    //选定协议勾选框
    $('#allow').click(function() {
        if($(this).is(':checked')) //也可写成if($(this).prop('checked')
        {
            error_check = false;
            $(this).siblings('span').hide(); //也可写成$('.error_tip2').hide()
        }
        else
        {
            error_check = true;
            $(this).siblings('span').html('请勾选同意');
            $(this).siblings('span').show();
        }
    });
 
 
    function check_user_name(){
        var len = $('#user_name').val().length; //val() 方法返回或设置被选元素的值,多用于input元素。
        if(len<5||len>20)
        {
            $('#user_name').next().html('请输入5-20个字符的用户名')
            $('#user_name').next().show(); //将上面的提示信息显示出来
            error_name = true;
        }
        else
        {
            $('#user_name').next().hide(); //next()表示同级的下一个元素,也就是提示信息<span>标签
            error_name = false;
        }
    }
 
    function check_pwd(){
        var len = $('#pwd').val().length;
        if(len<8||len>20)
        {
            $('#pwd').next().html('密码最少8位,最长20位') //表示同级一下标签<span>中显示的文本
            $('#pwd').next().show();
            error_password = true; //为true说明密码错误
        }
        else
        {
            $('#pwd').next().hide();
            error_password = false;
        }      
    }
 
 
    function check_cpwd(){
        var pass = $('#pwd').val();
        var cpass = $('#cpwd').val();
 
        if(pass!=cpass)
        {
            $('#cpwd').next().html('两次输入的密码不一致')
            $('#cpwd').next().show(); 
            error_check_password = true;
        }
        else
        {
            $('#cpwd').next().hide();
            error_check_password = false;
        }      
         
    }
 
    function check_email(){
         
        //18515099823@qq.com
         
        //以字母为数字开头,(\.[a-z]{2,5})表示邮箱中的.com型的字符,后面的{1,2}表示.com.cn或者.com这样的后缀
        var re = /^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$/;
 
        if(re.test($('#email').val())) //如果通过上面的re测试,if语句为真
        {
            $('#email').next().hide();
            error_email = false;
        }
        else
        {
            $('#email').next().html('你输入的邮箱格式不正确')
            $('#email').next().show();
            error_check_password = true;
        }
 
    }
 
     
    //注册按钮的提交
 
    $('#reg_form').submit(function() {
        check_user_name();
        check_pwd();
        check_cpwd();
        check_email();
 
        if(error_name == false && error_password == false && error_check_password == false && error_email == false && error_check == false)
        {
            return true;  //返回true就可提交数据
        }
        else
        {
            return false; //返回false,阻止提交
        }
 
    });
 
})

  

register.html源码

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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>天天生鲜-注册</title>
    <link rel="stylesheet" type="text/css" href="css/reset.css">
    <link rel="stylesheet" type="text/css" href="css/main.css">
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="js/register.js"></script> //表单验证js
</head>
<body>
    <div class="register_con">
        <div class="l_con fl">
            <a class="reg_logo"><img src="images/logo02.png"></a>
            <div class="reg_slogan">足不出户  ·  新鲜每一天</div>
            <div class="reg_banner"></div>
        </div>
 
        <div class="r_con fr">
            <div class="reg_title clearfix">
                <h1>用户注册</h1>
                <a href="#">登录</a>
            </div>
            <div class="reg_form clearfix">
                <form>
                <ul>
                    <li>
                        <label>用户名:</label>
                        <input type="text" name="user_name" id="user_name">
                        <span class="error_tip">提示信息</span>
                    </li>                
                    <li>
                        <label>密码:</label>
                        <input type="password" name="pwd" id="pwd">
                        <span class="error_tip">提示信息</span>
                    </li>
                    <li>
                        <label>确认密码:</label>
                        <input type="password" name="cpwd" id="cpwd">
                        <span class="error_tip">提示信息</span>
                    </li>
                    <li>
                        <label>邮箱:</label>
                        <input type="text" name="email" id="email">
                        <span class="error_tip">提示信息</span>
                    </li>
                    <li class="agreement">
                        <input type="checkbox" name="allow" id="allow" checked="checked">
                        <label>同意”天天生鲜用户使用协议“</label>
                        <span class="error_tip2">提示信息</span>
                    </li>
                    <li class="reg_sub">
                        <input type="submit" value="注 册" name="">
                    </li>
                </ul>            
                </form>
            </div>
 
        </div>
 
    </div>
 
    <div class="footer no-mp">
        <div class="foot_link">
            <a href="#">关于我们</a>
            <span>|</span>
            <a href="#">联系我们</a>
            <span>|</span>
            <a href="#">招聘人才</a>
            <span>|</span>
            <a href="#">友情链接</a>       
        </div>
        <p>CopyRight © 2016 北京天天生鲜信息技术有限公司 All Rights Reserved</p>
        <p>电话:010-****888    京ICP备*******8号</p>
    </div>
     
</body>
</html>

  

 

posted @   坚强的小蚂蚁  阅读(580)  评论(2编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示