HTML---表单验证
文章目录
-
目录
本章目标
一.表单验证概述
二.表单选择器
属性过滤选择器
三.表单验证
表单验证的方法
总结
本章目标
- 掌握String对象的用法
- 会使用表单选择器的选择页面元素
- 会使用JQuery事件进行表单验证
- Ajax的概念和作用
一.表单验证概述
前端中的表单验证是在用户提交表单之前,对用户输入的数据进行合法性检查的过程。这种验证的目的是确保用户输入的数据符合预期的要求,从而减少错误和无效的数据提交,提高数据的质量和准确性。
表单验证可以分为多种类型,包括但不限于:
- 输入类型的验证:检查用户输入的数据是否符合预期的输入类型,如文本、数字、邮箱、密码等。
- 必填字段的验证:确保用户必须填写某些字段,这些字段通常是表单中的关键信息。
- 日期和时间范围的验证:检查用户输入的日期或时间是否在允许的范围内。
- 步长的验证:对于某些需要递增或递减的输入字段,如价格、评分等,验证其步长是否符合要求。
- 字符长度的验证:检查用户输入的字符长度是否在规定的范围内。
- 数值范围的验证:检查用户输入的数值是否在允许的范围内。
- 正则表达式的验证:使用正则表达式对用户输入的数据进行复杂的模式匹配和验证。
在前端中,表单验证可以通过多种技术实现,如HTML5的内置验证、JavaScript验证库(如jQuery Validation Plugin)以及自定义的JavaScript代码。其中,JavaScript是实现表单验证的常用工具之一,它可以在数据被送往服务器前对HTML表单中的输入数据进行验证,从而减轻服务器的负担并提高用户体验。
二.表单选择器

<!DOCTYPE html>
<html>
<head> <title>表单选择器示例</title>
</head>
<body> <form id="myForm"> <label for="name">姓名:</label> <input type="text" id="name" name="name"><br><br> <label>性别:</label> <input type="radio" id="male" name="gender" value="male"> <label for="male">男</label><br> <input type="radio" id="female" name="gender" value="female"> <label for="female">女</label><br><br> <label>兴趣爱好:</label> <input type="checkbox" id="reading" name="hobby" value="reading"> <label for="reading">阅读</label><br> <input type="checkbox" id="travel" name="hobby" value="travel"> <label for="travel">旅行</label><br> <input type="checkbox" id="coding" name="hobby" value="coding"> <label for="coding">编程</label><br><br> <input type="submit" value="提交"> </form> <script src="jq/jquery-3.7.1.js"></script><script type="text/javascript">$(document).ready(function(){//选中标签id=myForm中所有的input、button,select,textarea元素$("#myForm :input").css("background-color","aqua") });</script>
</body>
</html>

属性过滤选择器

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>前端表单示例</title>
</head>
<body>
<form> <!-- 下拉框 --> <label for="country">选择国家:</label> <select id="country" name="country"> <option value="usa">美国</option> <option value="china">中国</option> <option value="france">法国</option> <option value="germany">德国</option> </select> <br><br> <!-- 单选按钮 --> <label>选择性别:</label> <br> <input type="radio" id="male" name="gender" value="male"> <label for="male">男</label><br> <input type="radio" id="female" name="gender" value="female"> <label for="female">女</label><br> <br> <!-- 多选按钮 --> <label>选择你感兴趣的运动:</label> <br> <input type="checkbox" id="football" name="sport" value="football"> <label for="football">足球</label><br> <input type="checkbox" id="basketball" name="sport" value="basketball"> <label for="basketball">篮球</label><br> <input type="checkbox" id="swimming" name="sport" value="swimming"> <label for="swimming">游泳</label><br> <br> <!-- 提交按钮 --> <input type="submit" value="提交">
</form>
<script src="jq/jquery-3.7.1.js"></script>
<script type="text/javascript">$(function(){//使用属性选择器selected选中标签select中选中的option并存贮在变量slist中var slist = $("#country :selcted");//使用each()函数遍历slist并调用函数slist.each(function(){使用html()函数编译选中的option标签并保存在变量message中var messsage = $(this).html();window.alert(message);});});
</script>
</body>
</html>
三.表单验证

演示案例
<!DOCTYPE html>
<html>
<head> <title>表单选择器示例</title>
</head>
<body> <form id="myForm"> <label for="name">账号:</label> <input type="text" id="name" name="name" value=""><br><br> <label>性别:</label> <input type="radio" id="male" name="gender" value="male"> <label for="male">男</label><br> <input type="radio" id="female" name="gender" value="female"> <label for="female">女</label><br><br> <label>兴趣爱好:</label> <input type="checkbox" id="reading" name="hobby" value="reading"> <label for="reading">阅读</label><br> <input type="checkbox" id="travel" name="hobby" value="travel"> <label for="travel">旅行</label><br> <input type="checkbox" id="coding" name="hobby" value="coding"> <label for="coding">编程</label><br><br> <input type="submit" value="提交"> </form> <script src="jq/jquery-3.7.1.js"></script><script type="text/javascript">$(document).ready(function(){//点击表单中的提交按钮时调用函数$("#myForm").submit(function(){// $("#myForm :text")选中表单中的文本框并使用val()提取标签中的value值并储存在变量user中var user = $("#myForm :text").val();//判断账号是否为空if(user==""){window.alert("账号不能为空!");//结合当前方法并返回false的值return false;}if(user.indexOf("@")==-1){window.alert("User格式错误,必须包含@符号");return false;}var pwd = $("#myForm :password").val();//使用for循环遍历密码框中的每个字符for(var i=0;i<pwd.length;i++){//使用substring(i,i++)函数提取i位置到i+位置的数字不包含i+1var s = pwd.subtring(i,i++);//使用isNaN(s)判断该变量是否为字符串if(isNaN(s) == false){window.alert("密码框内不允许出现数字");return false;}});});</script></body>
</html>

表单验证的方法

总结
相关文章:
HTML---表单验证
文章目录 目录 本章目标 一.表单验证概述 二.表单选择器 属性过滤选择器 三.表单验证 表单验证的方法 总结 本章目标 掌握String对象的用法会使用表单选择器的选择页面元素会使用JQuery事件进行表单验证Ajax的概念和作用 一.表单验证概述 前端中的表单验证是在用户提交表…...
基于tomcat的JavaWeb实现
Tomcat服务器 免费,性能一般的服务器 安装配置 基于Java,故需要配置环境变量,新加系统路径JAVA_HOME,路径为jdk的主目录。 而后打开bin目录下的startup.bat文件出现如下窗口说明配置成功 idea继承tomcat服务器 使用java开发…...
AI时代编程新宠!如何让孩子成为未来的编程大师?
文章目录 一、了解编程的基础概念二、选择适合的编程工具三、激发孩子的兴趣四、注重基础能力的培养五、提供实践机会六、鼓励孩子与他人合作七、持续支持与鼓励《信息学奥赛一本通关》本书定位内容简介作者简介目录 随着科技的迅猛发展,编程已经从一种专业技能转变…...
Qt 中Json的构造和解析简单例子
概述: Qt中使用Json比较方便,不像纯C需要导入CJson RapidJson JsonCpp等第三方的库,主要使用到QJsonDocument、QJsonObject对象即可 1、如何构造一个json字符串 假如我们需要构造 {"cmd":"1001","data":{"content&q…...
CSS特性
小技巧:在调试工具中,css样式上看层叠,下看继承。 1、层叠性 相同的属性会被覆盖,不同的属性会叠加 2、继承性 3、优先级 基于不同种类的选择器的匹配规则。 通配符 < 标签 < 类选择器 < id选择器 < 行内样式 <…...
springcloud:3.1介绍雪崩和Resilience4j
灾难性雪崩效应 简介 服务与服务之间的依赖性,故障会传播,造成连锁反应,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。 原因 1.服务提供者不可用(硬件故障、程序bug、缓存击穿、用户大量请求) 2.重试加大流量(用户重试,代码逻辑重试) 3.服…...
实现定时器的两种方法:使用windows api定时器 和使用c++11/14 定时器
前言: 当我有一个开发需求,符合下面的条件 1.需要某个任务在程序中每隔一段时间就要执行一次,可能把这个任务封装成了一个函数。 2.这种需要定时执行的任务,有2个,3个....越来越多。 这个时候我们就可以考虑使用定时…...
H5:图像标签和路径
目录 一.前言 二.正文 1.图像标签 注意: 2.路径 Ⅰ.目录文件夹和根目录 Ⅱ.路径 三.结语 一.前言 本篇介绍有关标签和路径,关于图像标签我们来看看有什么需要注意的。 二.正文 1.图像标签 在HTML标签中,img标签用于定义HTML页面中的图像。 <im…...
AI学习(5):PyTorch-核心模块(Autograd):自动求导
1.介绍 在深度学习中,自动求导是一项核心技术,它使得我们能够方便地计算梯度并优化模型参数。PyTorch 提供了一个强大的自动求导模块(Autograd),它可以自动计算张量的导数得出梯度信息,同时也支持高阶导数计算。 1.1 概念词 在学…...
Grid-Based Continuous Normal Representation for Anomaly Detection 论文阅读
Grid-Based Continuous Normal Representation for Anomaly Detection 论文阅读 摘要简介方法3.1 Normal Representation3.2 Feature Refinement3.3 Training and Inference 4 实验结果5 总结 文章信息: 原文链接:https://arxiv.org/abs/2402.18293 源码…...
FaceBook获取广告数据
1、访问 广告管理工具 确认自己登陆的账号下面能看到户。 2、使用 图谱Api探索工具 生成用户短期口令 3、get请求(或者浏览器直接打开)访问: https://graph.facebook.com/v19.0/me?fieldsid,name, email&access_token{上一步生成的口令} 4、短期…...
Redis之十:Spring Data Redis --- CrudRepository方式
SpringData Redis CrudRepository方式 Spring Data Redis 的 CrudRepository 是 Spring Data 框架中用于提供基础 CRUD(创建、读取、更新和删除)操作的一个接口。在与 Redis 集成时,尽管 Redis 是一个键值存储系统,并没有像关系型…...
Spring重点记录
文章目录 1.Spring的组成2.Spring优点3.IOC理论推导4.IOC本质5.IOC实现:xml或者注解或者自动装配(零配置)。6.hellospring6.1beans.xml的结构为:6.2.Spring容器6.3对象的创建和控制反转 7.IOC创建对象方式7.1以有参构造的方式创建…...
代码覆盖率工具Gcovr和Fastcov的性能对比
在软件开发过程中,代码覆盖率工具是非常重要的,它可以帮助开发人员评估他们的代码覆盖情况,从而更好地进行测试和调试。在这方面,Gcovr和fastcov是两个常用的工具。本文将对这两种工具的性能进行对比分析。 首先,让我…...
css - flex布局实现div横向滚动
父盒子: display: flex; //将容器设置为Flex布局。overflow-x: scroll; //设置容器水平方向出现滚动条。white-space: nowrap; //防止项目换行显示。 子盒子: flex: 0 0 auto; //设置项目为固定宽度。width: 200px; //设置项目的宽度。margin-rig…...
关于在Ubuntu20.04环境下安装GRPC
关于在Ubuntu20.04环境下安装GRPC 1 cmake安装 要在Ubuntu 20.04上安装CMake 3.26.4,请按照以下步骤进行操作: 打开终端并更新apt软件包列表: sudo apt update安装必要的依赖项: sudo apt install -y wget gcc g++ build-essential下载CMake 3.26.4的源代码: wget https…...
力扣601 体育馆的人流量
在解决"连续三天及以上人流量超过100的记录"问题时,MySQL方案作为力扣解决问题的方案通过窗口函数和分组技巧高效地识别连续记录。而Python与Pandas方案作为扩展则展示了在数据处理和分析方面的灵活性,通过行号变换和分组计数来筛选符合条件的…...
ubuntu20.04设置docker容器开机自启动
ubuntu20.04设置docker容器开机自启动 1 docker自动启动2 容器设置自动启动3 容器自启动失败处理 1 docker自动启动 (1)查看已启动的服务 $ sudo systemctl list-units --typeservice此命令会列出所有当前加载的服务单元。默认情况下,此命令…...
Kubernetes/k8s的核心概念
一、什么是 Kubernetes Kubernetes,从官方网站上可以看到,它是一个工业级的容器编排平台。Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。在一些常见的资料中也会看到“ks”这个词,也就是“k8s”ÿ…...
vue 前端预览 Excel 表
一、安装依赖包官网 npm i luckyexceltemplate 模板 <!-- 用于渲染表格的容器 --> <div id"luckysheet" stylewidth:100vw;height:100vh></div>二、加载 异步加载及 import LuckyExcel from luckyexcel;/* 下列代码加载 cdn 文件,你…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
