表单验证

script实现用户名、密码的验证

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title>表单验证</title>
        <script type="text/javascript">
            /**
             * 检测用户
             * @param   obj
             */
            var checkName = function(obj) {
                //1.获得用户输入的内容
                var value = obj.value;
                //2.定义正则表达式
                var reg = /^\s*$/;
                //3.获得span
                var span = document.getElementById('s1');
                span.innerHTML = "";
                if (reg.test(value)) {
                    span.innerHTML = '用户名不能为空';
                    span.className = 'error';
                    return false;
                }
                return true;
            }
            var checkPwd = function() {
                    //1.获得密码框
                    var pwd = document.forms[0]['pwd'];
                    var reg = /^\s*$/;
                    var span = document.getElementById('s2');
                    span.innerHTML = '';
                    if (reg.test(pwd.value)) {
                        span.innerHTML = '密码不能为空';
                        span.className = 'error';
                        return false;
                    }
                    if (pwd.value.length < 6) {
                        span.innerHTML = '密码长度不能少于6位';
                        span.className = 'error';
                        return false;
                    }
                    return true;
                }
                //重复密码校验
            var checkRepwd = function() {
                    //1.获得对象
                    var repwd = document.forms[0]['re1'];
                    //2.获得第一次的密码
                    var pwdValue = document.forms[0]['pwd'].value;
                    var span = document.getElementById('s3');
                    span.innerHTML = '';
                    if (repwd.value != pwdValue) {
                        span.innerHTML = '两次密码不一致';
                        span.className = 'error';
                        return false;
                    }
                    span.innerHTML = 'ok';
                    span.className = 'info';
                    return true;
                }
                /*
                 * 显示信息
                 */
            var showInfo = function(obj) {
                    //3.获得span
                    if (obj.name == 'username') {
                        var span = document.getElementById('s1');
                        span.innerHTML = '用户名必须填写';
                        span.className = 'info';
                    }
                    if (obj.name == 'pwd') {
                        var span = document.getElementById('s2');
                        span.innerHTML = '密码长度不能小于6位!';
                        span.className = 'info';
                    }
                }
                /*
                 * 表单提交前的验证
                 */
            var checkForm = function() {
                //1.为input提供id值document.getElmentById();
                //2.获得tbody,tbody.getElementsByTagName('input');
                //document.forms 可以获得文档中所有的表单对象
                //documents.forms[0][name|id]
                var nameInput = document.forms[0]['username'];
                console.log(nameInput);
                return checkName(nameInput) && checkPwd() && checkRepwd();
            }
        </script>
        <style type="text/css">
            .error {
                color: red;
            }
            .info {
                color: green;
            }
            #tb1 {
                margin-left: auto;
                margin-right: auto;
                border: 1px solid black;
                width: 500px;
                height: auto;
            }
            #tb1 tr:last-child {
                text-align: center;
            }
            p {
                text-align: center;
            }
            .show {
                width: 200px;
                text-align: left;
            }
        </style>
    </head>

    <body>
        <p>用户注册</p>
        <form action="#" method="get" onsubmit="return checkForm();">
            <table id="tb1">

                <tr>
                    <td>用户名</td>
                    <td>
                        <input type="text" name="username" onfocus="showInfo(this);" onblur="checkName(this);" />
                    </td>
                    <td class="show">
                        <span id="s1"></span>
                    </td>

                </tr>
                <tr>
                    <td>密码</td>
                    <td>
                        <input type="password" name="pwd" onblur="checkPwd();" onfocus="showInfo(this);" />
                    </td>
                    <td class="show">
                        <span id="s2"></span>
                    </td>
                </tr>
                <tr>
                    <td>重复密码</td>
                    <td>
                        <input type="password" id="re1" onblur="checkRepwd();" />
                    </td>
                    <td class="show">
                        <span id="s3"></span>
                    </td>

                </tr>
                <tr>
                    <td colspan="3">
                        <input type="reset" value="重置" />
                        <input type="submit" value="提交" />
                    </td>

                </tr>
            </table>
        </form>
    </body>

</html>

posted @ 2015-07-30 11:28  dllling  阅读(247)  评论(0编辑  收藏  举报