HTML5利用约束验证API来检查表单的输入数据的代码实例

HTML5利用约束验证API来检查表单的输入数据是一种很方便的方式,它可以确保用户输入的数据符合指定的格式,提高了表单提交的成功率。下面是实现此功能的完整攻略:

1. HTML表单代码结构

首先,我们需要在HTML页面中编写表单元素。表单元素应该包含一系列表单控件,例如文本输入框、单选按钮、复选框、下拉列表等元素。在提交表单数据之前需要添加以下代码结构,其中包括验证角色和验证规则:

<input type="text" name="username" required minlength="3" maxlength="10" pattern="[A-Za-z]{3,10}" title="用户名必须为3-10个字母">

上面的代码意思是:用户名文本输入框中必填,长度必须为3到10之间的字母,只包含大小写字母,提示标题为:"用户名必须为3-10个字母"。

2. JavaScript代码实现

接下来,在JavaScript中添加验证功能的代码,这里我们使用了约束验证API。代码如下:

var forms = document.getElementsByTagName("form");
for (var i = 0; i < forms.length; i++) {
    forms[i].addEventListener("submit", function (event) {
        if (this.checkValidity() === false) {
            event.preventDefault();
            event.stopPropagation();
        }
        this.classList.add("was-validated");
    }, false);
}

上面的代码意思是:获取所有页面上的表单,遍历表单,针对每个表单注册submit事件。检查表单的有效性,如果一个控件不满足验证条件,则阻止表单提交,并阻止事件向上传播。如果所有控件都满足条件,则添加样式“was-validated”,告知用户验证已经成功。

3. 完整代码实例

结合以上两部分内容,我们可以得到一个完整的HTML代码实例,如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>HTML5约束验证API演示</title>
</head>
<body>

    <form class="needs-validation" novalidate>
        <div class="form-group">
            <label for="username">用户名:</label>
            <input type="text" class="form-control" id="username" required minlength="3" maxlength="10" pattern="[A-Za-z]{3,10}" title="用户名必须为3-10个字母">
            <div class="valid-feedback">有效</div>
            <div class="invalid-feedback">用户名必须为3-10个字母,且只包含字母</div>
        </div>
        <button type="submit">提交</button>
    </form>

    <script>
        var forms = document.getElementsByTagName("form");
        for (var i = 0; i < forms.length; i++) {
            forms[i].addEventListener("submit", function (event) {
                if (this.checkValidity() === false) {
                    event.preventDefault();
                    event.stopPropagation();
                }
                this.classList.add("was-validated");
            }, false);
        }
    </script>
</body>
</html>

上面代码中,我们创建了一个表单,其中包含了一个用户名文本输入框,规定必须为3到10之间的字母,不受大小写限制,顶部提示标题。

JavaScript代码中,我们为表单添加了事件监听器,当用户点击提交按钮时,表单数据进行验证,验证完毕时根据验证是否通过来阻止表单提交,并添加样式“was-validated”。

如果用户输入不符合限制要求,就会显示一个红色的弹出框,告知用户输入无效。

至此,我们完成了整个HTML页面的表单数据验证功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:HTML5利用约束验证API来检查表单的输入数据的代码实例 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 多视角3D可旋转的HTML5 Logo动画

    下面我将详细讲解制作“多视角3D可旋转的HTML5 Logo动画”的攻略,主要包括以下步骤: 1. 绘制Logo 在绘制Logo时,需要使用矢量工具制作,这可以确保Logo的高清晰度和可放大性。可以使用Adobe Illustrator等工具绘制,同时需要考虑到后面的动画制作,尽量不要使用太多的细节和渐变。最终的Logo输出为SVG格式。 2. 准备HTML…

    css 2023年6月10日
    00
  • 微信支付功能支持哪些银行卡 微信支付规则介绍

    微信支付功能支持哪些银行卡 微信支付功能支持绝大部分的国内主流银行卡,包括但不限于以下几种类型: 借记卡:包括工商银行、农业银行、中国银行、建设银行、交通银行、中信银行、兴业银行、浦发银行、民生银行等国内知名银行的借记卡。 信用卡:包括工商银行、农业银行、中国银行、建设银行、交通银行、中信银行、兴业银行、浦发银行、民生银行以及部分外卡的信用卡。 另外,微信还…

    css 2023年6月10日
    00
  • Python2 Selenium元素定位的实现(8种)

    下面我会详细讲解“Python2 Selenium元素定位的实现(8种)”的完整攻略。 1. 基本准备 在使用 Python2 Selenium 进行元素定位之前,需要先安装 Selenium 库和对应的浏览器驱动,建议使用 Chrome 浏览器和 Chromedriver。 安装 Selenium 和 Chromedriver 可以使用 pip 命令: p…

    css 2023年6月10日
    00
  • 编写出色CSS代码的13个建议小结

    下面就是关于“编写出色CSS代码的13个建议小结”的完整攻略: 1. 避免全局选择器 全局选择器会将所有元素匹配,导致性能下降。尽量减少全局选择器的使用。 例如: /* 避免全局选择器*/ /* 不好的写法*/ * { box-sizing: border-box; } /* 好的写法*/ body { box-sizing: border-box; } 2…

    css 2023年6月9日
    00
  • 纯CSS实现hover图片pop-out弹出效果的实例代码

    关于“纯CSS实现hover图片pop-out弹出效果的实例代码”,我来详细讲解一下。 什么是hover图片pop-out弹出效果 先来了解一下这个效果的定义。hover图片pop-out弹出效果是指鼠标放在图片上时,使图片缩小并向上平移一定距离,形成一个出现和消失的效果。 实现方法 实现这个效果的方法可以通过CSS的transition属性和hover伪类…

    css 2023年6月10日
    00
  • 详解CSS中postion和opacity及cursor的特性

    详解CSS中position、opacity及cursor的特性 position CSS中的position属性用于指定元素的定位方式。常用的取值有static、relative、absolute和fixed。其中,static是默认值,元素不存在定位(也就是正常流布局),不受top、right、bottom、left等属性的影响。relative与sta…

    css 2023年6月10日
    00
  • H5+css3+js搭建带验证码的登录页面

    下面是“H5+css3+js搭建带验证码的登录页面”的完整攻略: 1. 准备工作 首先我们需要准备一下开发环境,需要安装Node.js、npm、git等软件。然后需要在本地创建一个项目文件夹,并在该文件夹内创建一个index.html文件和一个style.css文件,以及一个index.js文件用于编写JavaScript代码。 2. 搭建页面框架 在ind…

    css 2023年6月10日
    00
  • js处理表格对table进行修饰

    关于“js处理表格对table进行修饰”的完整攻略,可以分为以下几个步骤: 第一步:获取table元素 要对表格进行处理,首先需要获取表格的dom元素。可以通过getElementById或者querySelector等方法获取该元素。获取到table元素后,可以用变量保存下来。 const table = document.getElementById(‘…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部