JavaScript之表单校验

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单校验</title>
    <style>
        .error{
            color: red;
        }
    </style>
    <script>
        /*
        1、给表单绑定onsubmit事件。监听器中判断每一个方法校验的结果。
	        如果都为true,则监听器方法返回true
	        如果有一个为false,则监听器方法返回false
        2、定义一些方法,分别校验各个表单项
        3、给各个表单项绑定onblur事件
         */
        window.onload = function () {
            //1、给表单绑定onsubmit事件
            document.getElementById("form").onsubmit = function () {
                //调用用户校检方法 checkUsername();
                //调用密码校检方法 checkPassword();
                //return checkUsername() && checkPassword();
                return checkUsername() && checkPassword();
            }
            //给用户名和密码分别绑定离焦事件
            //方法对象!!!不加括号!!!
            document.getElementById("username").onblur = checkUsername;
            document.getElementById("password").onblur = checkPassword;
        }
            //校检用户名
            function checkUsername(){
                //1、获取用户名的值
                var username = document.getElementById("username").value;
                //2、定义正则表达式
                var reg_username = /^\w{6,12}$/
                //3、判断值是否符合表单正则的规则
                var flag = reg_username.test(username);
                //4、提示信息
                var s_username = document.getElementById("s_username");
                if (flag){
                    //提示绿色对勾
                    s_username.innerHTML = "<img width= '35' height='25' src='../img/gou.png'/>"
                }
                else {
                    //提示红色用户名有误
                    s_username.innerHTML = "用户名格式有误";
                }
                return flag;
            }
            //校检密码
            function checkPassword(){
                //1、获取用户名的值
                var password = document.getElementById("password").value;
                //2、定义正则表达式
                var reg_password = /^\w{6,12}$/
                //3、判断值是否符合表单正则的规则
                var flag = reg_password.test(password);
                //4、提示信息
                var s_password = document.getElementById("s_password");
                if (flag){
                    //提示绿色对勾
                    s_password.innerHTML = "<img width= '35' height='25' src='../img/gou.png'/>"
                }
                else {
                    //提示红色用户名有误
                    s_password.innerHTML = "密码格式有误";
                }
                return flag;

        }
    </script>
</head>
<body>
<form id="form">
    <table align="center" >
        <tr>
            <td>用户名</td>
            <td>
                <input type="text" id="username" name="username" >
                <span id="s_username" class="error"></span>
            </td>
        </tr>
        <tr>
            <td>密码</td>
            <td>
                <input type="password" id="password" name="password" >
                <span id="s_password" class="error"></span>
            </td>
        </tr>
        <tr>
            <td>邮件</td>
            <td><input type="text" id="email" name="email" ></td>
        </tr>
        <tr>
            <td>手机号</td>
            <td><input type="text" id="phone" name="phone" ></td>
        </tr>
        <tr>
            <td>性别</td>
            <td>
                <input type="radio" name="gender" value="male" >男
                <input type="radio" name="gender" value="female">女
            </td>
        </tr>
        <tr>
            <td>出生日期</td>
            <td><input type="date" id="birthday" name="birthday" ></td>
        </tr>
        <tr>
            <td colspan="2"><input type="submit" id="register" name="register" value="注册" ></td>
        </tr>
    </table>
</form>

</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值