HTML表单验证:确认input元素输入为具有特定整数和小数位数的数值

news/2025/9/21 17:50:23/文章来源:https://www.cnblogs.com/yu99999come/p/19103905

为了确保HTML表单中的 input元素接收具有特定整数位和小数位数的数值,您需要利用HTML和JavaScript进行前端验证。在HTML5中,可以使用内建的表单验证功能,比如 pattern属性,然而 pattern属性主要用于字符串的正则表达式验证,并不直接支持对数值的整数部分和小数部分的位数进行验证。因此,我们通常会借助JavaScript来实现这种验证。

首先,我们来定义HTML表单的基本结构:

<form id="number-form"><label for="number">请输入数字:</label><input type="text" id="number" name="number" required /><button type="submit">提交</button>
</form>

在上述代码中,我们设定了一个文本 input用来输入数字,required属性确保在提交表单之前用户必须填写该字段。

现在,我们使用JavaScript添加自定义验证。我们的目标是检查用户输入是否符合我们所设定的特定整数位和小数位数的格式,例如,允许用户输入最多3位整数和最多2位小数的数字。

以下是一个完整的JavaScript验证函数,其可以集成到上述HTML表单中:

document.addEventListener('DOMContentLoaded', function() {var form = document.getElementById('number-form');var numberInput = document.getElementById('number');form.addEventListener('submit', function(event) {// 正则表达式匹配最多3位整数和2位小数的数值var regex = /^[0-9]{1,3}(.[0-9]{1,2})?$/;var isNumberValid = regex.test(numberInput.value);// 如果不匹配,则阻止表单提交,并提示用户if (!isNumberValid) {alert('数字格式不正确。请输入最多3位整数和2位小数的数字。');event.preventDefault(); // 阻止表单提交}});
});

上述脚本首先在文档加载完毕后绑定事件监听器。当表单试图提交时将触发验证过程。正则表达式 ^[0-9]{1,3}(.[0-9]{1,2})?$用于匹配格式要求:

  • ^[0-9]{1,3}表示匹配以1至3位数字开头。
  • (.[0-9]{1,2})?表示接受零个或一个点(.)后跟1到2位数字。
  • $确保字符串结束于正则表达式匹配的位置,避免字符串中间有符合格式的数字被错误接受。

如果用户输入的数字不匹配此正则表达式则弹出警告窗口,并阻止表单提交。这保证了只有符合预设格式的数字才能通过验证。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/908931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

课前问题思考3

1.什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?什么样的方法应该用static修饰?方法不依赖于类的实例状态。 方法提供的功能与类的实例无关。 工具类方…

实用指南:Docker部署Drawnix开源白板工具

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

go静态方法

go静态方法 漫思

在CentOS上配置SVN至Web目录的自动同步

配置SVN(Subversion)到Web目录的自动同步在CentOS系统中是一种有效的代码部署方法,它可以让团队成员更便捷地管理和发布Web项目。以下是如何在CentOS上实现SVN仓库到Web目录的自动同步的详细步骤。= 1. 安装并配置S…

AIGC在游戏开发中的革命性影响:从生产效率到体验创新 - 详解

AIGC在游戏开发中的革命性影响:从生产效率到体验创新 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…

使用Docker配置并连接HBase的Java API

配置并使用Docker容器化HBase,并通过Java API进行连接,首先涉及到Docker配置HBase环境以及编写Java代码以编程方式连接HBase。以下是这一流程的具体步骤。 使用Docker部署HBase获取HBase镜像:使用Docker Hub提供的官…

在Linux环境下安装和卸载DMETL5数据迁移工具

在Linux环境下,安装和卸载特定的数据迁移工具,如DMETL5,通常涉及到一系列具体步骤。由于DMETL5不是一个广泛认知的公共软件,我们可以遵循一般的Linux软件安装和卸载流程来讨论这个问题。 安装DMETL5数据迁移工具 通…

赛前训练3 欧拉路

以下,斜体表示注意点,粗体表示技巧点。 无向图欧拉路径的判定:除去孤点之外图联通。度数为奇数的点只有 \(0\) 或 \(2\) 个。有向图欧拉路径的判定:除去孤点之外图联通。出度比入度大一或入度比出度大一的有 \(0\)…

HDFS 纠删码技术(Erasure Coding, EC)详解 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

SQL小贴式: 用NOT EXISTS 而不是 NOT IN !!!

SQL小贴式: 用NOT EXISTS 而不是 NOT IN !!! 当使用NOT IN进行过滤时, 比如NOT IN xxx 时, 如果 xxx 中有NULL值时, 就会一行也不返回 !在 SQL 中,NOT IN 子查询遇到 NULL 值时会产生意外行为,主要因为 SQL 使用三值…

CF global round 29 CD

CF global round 29 CDCF global round 29 C 思路: 只要考虑每个 0 的位置怎么更新 考虑从当前 pos[i] 转移到下一个 pos[i+1] 的位置 分三种情况, 中间没有 1, 只要当前位置有一个位置左右两种情况都能转移 中间 1…

go语言复杂的map

go语言复杂的map 漫思

手撕大模型|FlashAttention 原理及代码解析

在当今大模型蓬勃发展的时代,训练效率成为了制约模型发展与应用的关键因素。Transformer 架构中的自注意力机制虽强大,但面临着高计算成本与内存消耗的挑战。FlashAttention 应运而生,作为一种高效的注意力计算方法…

react工程化

推荐 https://umijs.org/本文来自博客园,作者:jialiangzai,转载请注明原文链接:https://www.cnblogs.com/zsnhweb/p/19103865

CF700E Cool Slogans 做题记录

CF700E Cool Slogans 做题记录 https://www.luogu.com.cn/problem/CF700E 首先条件可以转化为,\(s_i\) 必须是 \(s_{i-1}\) 的 border,否则 \(s_i\) 可以缩短且不是变劣。 子串是后缀的前缀,所以在后缀上考虑。设 \…

完整教程:在 Ubuntu 上安装和配置 PostgreSQL 实录

完整教程:在 Ubuntu 上安装和配置 PostgreSQL 实录pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

一个MCU与FPGA混合电路上电启动的问题及其解决办法探索[原创www.cnblogs.com/helesheng]

给出了MCU与FPGA混合电路上电启动不正常现象的一种分析和对应的解决方案。最近在做一个同时需要MCU与FPGA的项目,具体说是FPGA作为MCU的FSMC(Flexible Static Memory Controller)接口的一个外设,通过SRAM接口与MCU…

Unity Volume Rendering

Unity Volume Rendering如下内容是对 https://tips.hecomi.com/entry/2018/01/05/192332 进行翻译同时增补得到笔记体积渲染概述 体积渲染是一种在 2D 屏幕上渲染 3D Texture 的技术,其中 3D Texture 来源有:从 CT 扫…

JMX与RMI

JMX与RMIJMX -监控 Jconsole -Djava.rmi.server.hostname= ip-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=XXX-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.aut…

深入解析:线程安全相关的注解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …