JS实现表单验证案例

 更新时间:2022年08月25日 11:02:39   作者:农夫与茶  
这篇文章主要为大家详细介绍了JS实现表单验证案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了JS实现表单验证案例的具体代码,供大家参考,具体内容如下

1.当输入框失去焦点时,验证输入内容是否符合要求

(1)获取表单输入框
(2)绑定 onblur 事件
(3)获取输入内容
(4)判断是否符合规则
(5)如果不符合规则,则显示错误提示信息

2.当点击注册按钮是,判断所有输入框的内容是否符合要求,如果不符合则阻止表单提交

(1)获取表单对象
(2)微表单对象绑定 onsubmit
(3)判断所有输入框是否都符合要求,如果符合,则返回true,如果有一项不符合,则返回false

<body>

<div class="form-div">
    <div class="reg-content">
        <h1>欢迎注册</h1>
        <span>已有帐号?</span> <a href="#" rel="external nofollow" >登录</a>
    </div>
    <form id="reg-form" action="#" method="get">

        <table>

            <tr>
                <td>用户名</td>
                <td class="inputs">
                    <input name="username" type="text" id="username">
                    <br>
                    <span id="username_err" class="err_msg" style="display: none">用户名不太受欢迎</span>
                </td>

            </tr>

            <tr>
                <td>密码</td>
                <td class="inputs">
                    <input name="password" type="password" id="password">
                    <br>
                    <span id="password_err" class="err_msg" style="display: none">密码格式有误</span>
                </td>
            </tr>


            <tr>
                <td>手机号</td>
                <td class="inputs"><input name="tel" type="text" id="tel">
                    <br>
                    <span id="tel_err" class="err_msg" style="display: none">手机号格式有误</span>
                </td>
            </tr>

        </table>

        <div class="buttons">
            <input value="注 册" type="submit" id="reg_btn">
        </div>
        <br class="clear">
    </form>

</div>


<script>

    //1. 验证用户名是否符合规则
    //1.1 获取用户名的输入框
    var usernameInput = document.getElementById("username");

    //1.2 绑定onblur事件 失去焦点
    usernameInput.onblur = checkUsername;

    function checkUsername() {
        //1.3 获取用户输入的用户名
        var username = usernameInput.value.trim();

        //1.4 判断用户名是否符合规则:长度 6~12,单词字符组成
        var reg = /^\w{6,12}$/;
        var flag = reg.test(username);

        //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;
    }


    //1. 验证密码是否符合规则
    //1.1 获取密码的输入框
    var passwordInput = document.getElementById("password");

    //1.2 绑定onblur事件 失去焦点
    passwordInput.onblur = checkPassword;

    function checkPassword() {
        //1.3 获取用户输入的密码
        var password = passwordInput.value.trim();

        //1.4 判断密码是否符合规则:长度 6~12
        var reg = /^\w{6,12}$/;
        var flag = reg.test(password);

        //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;
    }


    //1. 验证手机号是否符合规则
    //1.1 获取手机号的输入框
    var telInput = document.getElementById("tel");

    //1.2 绑定onblur事件 失去焦点
    telInput.onblur = checkTel;

    function checkTel() {
        //1.3 获取用户输入的手机号
        var tel = telInput.value.trim();

        //1.4 判断手机号是否符合规则:长度 11,数字组成,第一位是1

        //var flag = tel.length == 11;
        var reg = /^[1]\d{10}$/;
        var flag = reg.test(tel);
        if (flag) {
            //符合规则
            document.getElementById("tel_err").style.display = 'none';
        } else {
            //不合符规则
            document.getElementById("tel_err").style.display = '';
        }

        return flag;
    }


    //1. 获取表单对象
    var regForm = document.getElementById("reg-form");

    //2. 绑定onsubmit 事件
    regForm.onsubmit = function () {
        //挨个判断每一个表单项是否都符合要求,如果有一个不合符,则返回false

        var flag = checkUsername() && checkPassword() && checkTel();

        return flag;
    }

</script>
</body>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • js 将线性数据转为树形的示例代码

    js 将线性数据转为树形的示例代码

    这篇文章主要介绍了js 将线性数据转为树形的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 5个JavaScript经典面试题

    5个JavaScript经典面试题

    这篇文章主要介绍了5个JavaScript经典面试题,这些面试题可能在各种公司的javascript面试中都会出现,需要的朋友可以参考下
    2014-10-10
  • 关于JavaScript中JSON的5个小技巧分享

    关于JavaScript中JSON的5个小技巧分享

    这篇文章主要和大家分享五个JavaScript中的JSON技巧,例如:隐藏字符串化数据中的某些属性、创建自定义输出格式等,感兴趣的小伙伴可以了解一下
    2022-03-03
  • Javascript !!的作用

    Javascript !!的作用

    取变量的Boolean值
    2008-12-12
  • 基于JavaScript实现在线网页烟花效果

    基于JavaScript实现在线网页烟花效果

    这篇文章主要为大家详细介绍了如何利用JavaScript实现简单的在线网页烟花效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-02-02
  • 关于scrollLeft,scrollTop的浏览器兼容性测试

    关于scrollLeft,scrollTop的浏览器兼容性测试

    弹窗在谷歌浏览器chrome下的位置跟在别的浏览器下不一样,接下来介绍下scrollLeft,scrollTop的浏览器兼容性,感兴趣的你可以参考下哈
    2013-03-03
  • JavaScript使用技巧精萃[代码非常实用]

    JavaScript使用技巧精萃[代码非常实用]

    为方便大家查找不做分页设置ctrl+F即可
    2008-11-11
  • 图文详解Javascript中的上下文和作用域

    图文详解Javascript中的上下文和作用域

    这篇文章通过图文详细的给大家介绍了关于Javascript中的上下文与作用域背后的机制,主要涉及到执行上下文(execution context)、作用域链(scope chain)、闭包(closure)、this等概念。需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • javascript模拟实现计算器

    javascript模拟实现计算器

    这篇文章主要为大家详细介绍了javascript模拟实现计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 云开发进阶uniCloud-db组件与JQL语法的转换详解

    云开发进阶uniCloud-db组件与JQL语法的转换详解

    这篇文章主要为大家介绍了云开发进阶uniCloud-db组件与JQL语法的转换详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03

最新评论