HTML---表单验证

文章目录

  • 目录

    本章目标

    一.表单验证概述

    二.表单选择器

    属性过滤选择器 

     三.表单验证

     表单验证的方法

    总结


本章目标

  • 掌握String对象的用法
  • 会使用表单选择器的选择页面元素
  • 会使用JQuery事件进行表单验证
  • Ajax的概念和作用

一.表单验证概述

前端中的表单验证是在用户提交表单之前,对用户输入的数据进行合法性检查的过程。这种验证的目的是确保用户输入的数据符合预期的要求,从而减少错误和无效的数据提交,提高数据的质量和准确性。

表单验证可以分为多种类型,包括但不限于:

  1. 输入类型的验证:检查用户输入的数据是否符合预期的输入类型,如文本、数字、邮箱、密码等。
  2. 必填字段的验证:确保用户必须填写某些字段,这些字段通常是表单中的关键信息。
  3. 日期和时间范围的验证:检查用户输入的日期或时间是否在允许的范围内。
  4. 步长的验证:对于某些需要递增或递减的输入字段,如价格、评分等,验证其步长是否符合要求。
  5. 字符长度的验证:检查用户输入的字符长度是否在规定的范围内。
  6. 数值范围的验证:检查用户输入的数值是否在允许的范围内。
  7. 正则表达式的验证:使用正则表达式对用户输入的数据进行复杂的模式匹配和验证。

在前端中,表单验证可以通过多种技术实现,如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+1
				  var s = pwd.subtring(i,i++);
				  //使用isNaN(s)判断该变量是否为字符串
				  if(isNaN(s) == false){
					  window.alert("密码框内不允许出现数字");
					  return false;
				  }
		  });
	  });
  </script>
  
</body>  
</html>

 表单验证的方法


总结

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【多线程】常见锁策略详解(面试常考题型)

目录 &#x1f334; 乐观锁 vs 悲观锁&#x1f38d;重量级锁 vs 轻量级锁&#x1f340;自旋锁&#xff08;Spin Lock&#xff09;&#x1f38b;公平锁 vs ⾮公平锁&#x1f333;可重⼊锁 vs 不可重⼊锁&#x1f384;读写锁⭕相关面试题 常⻅的锁策略 注意: 接下来讲解的锁策略不…

【办公类-25-01】20240304 UIBOT上传 ”班级主页-信息窗“

一、背景需求&#xff1a; 本学期制作了 “信息窗主题说明”合并A4内容 【办公类-22-07】周计划系列&#xff08;3-1&#xff09;“信息窗主题知识&#xff08;提取&#xff09;” &#xff08;2024年调整版本&#xff09;-CSDN博客文章浏览阅读797次&#xff0c;点赞7次&…

Nuclei SDK启动流程分析

欢迎关注“安全有理”微信公众号。 概述 以nuclei-sdk-0.5.0版本进行说明&#xff0c;编译SoC和开发板分别选择默认的evalsoc和nuclei_fpga_eval&#xff0c;启动的汇编代码参见startup_evalsoc.S。 复位 /* If BOOT_HARTID is not defined, default value is 0 */ #ifndef …

Linux系统加固:限制用户对资源的使用禁止IP源路由更改主机解析地址的顺序设置umask值

Linux系统加固&#xff1a;限制用户对资源的使用&禁止IP源路由&更改主机解析地址的顺序&设置umask值 1.1 限制用户对资源的使用1.2 禁止IP源路由1.3 更改主机解析地址的顺序1.4 禁止ip路由转发1.5 设置umask值 &#x1f496;The Begin&#x1f496;点点关注&#x…

外泌体相关基因肝癌临床模型预测——2-3分纯生信文章复现——02.数据格式整理(2)

内容如下&#xff1a; 1.外泌体和肝癌TCGA数据下载 2.数据格式整理 3.差异表达基因筛选 4.预后相关外泌体基因确定 5.拷贝数变异及突变图谱 6.外泌体基因功能注释 7.LASSO回归筛选外泌体预后模型 8.预后模型验证 9.预后模型鲁棒性分析 10.独立预后因素分析及与临床的…

alpine创建lnmp环境alpine安装nginx+php5.6+mysql

前言 制作lnmp环境&#xff0c;你可以在alpine基础镜像中安装相关的服务&#xff0c;也可以直接使用Dockerfile创建自己需要的环境镜像。 注意&#xff1a;提前确认自己的alpine版本&#xff0c;本次创建基于alpine3.6进行创建&#xff0c;官方在一些版本中删除了php5 1、拉取…

Java 小项目开发日记 04(文章接口的开发、oss图片上传)

Java 小项目开发日记 04&#xff08;文章接口的开发、oss图片上传&#xff09; 项目目录 配置文件&#xff08;pom.xml&#xff09; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sc…

面试问答总结之并发编程

文章目录 &#x1f412;个人主页&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;多线程的优点、缺点&#x1f415;并发编程的核心问题 &#xff1a;不可见性、乱序性、非原子性&#x1fa80;不可见性&#x1fa80;乱序性&#x1fa80;非原子性&#x1…

Linux - 权限概念

Linux下有两种用户&#xff1a;超级用户&#xff08;root&#xff09;、普通用户。 超级用户&#xff1a;可以再linux系统下做任何事情&#xff0c;不受限制普通用户&#xff1a;在linux下做有限的事情超级用户的命令提示符是“#”&#xff0c;普通用户的命令提示符是“$” 命…

深入探究Python多进程编程:Multiprocessing模块基础与实战【第98篇—Multiprocessing模块】

深入探究Python多进程编程&#xff1a;Multiprocessing模块基础与实战 在Python编程中&#xff0c;多进程处理是一项关键的技术&#xff0c;特别是在需要处理大规模数据或执行耗时任务时。为了充分利用多核处理器的优势&#xff0c;Python提供了multiprocessing模块&#xff0…

G8-ACGAN理论

本文为&#x1f517;365天深度学习训练营 中的学习记录博客 原作者&#xff1a;K同学啊|接辅导、项目定制 我的环境&#xff1a; 1.语言&#xff1a;python3.7 2.编译器&#xff1a;pycharm 3.深度学习框架Pytorch 1.8.0cu111 一、对比分析 前面的文章介绍了CGAN&#xf…

Python批量提取文件夹中图片的名称及路径到指定的.txt文件中

目录 一、代码二、提取效果 一、代码 import os# 定义要保存的文件名 file_name "TestImage/Image_Visible_Gray.txt"# 读取文件夹路径 folder_path "TestImage/Image_Visible_Gray"# 遍历文件夹中的所有文件 with open(file_name, "w") as f…

132557-72-3,2,3,3-三甲基-3H-吲哚-5-磺酸,具有优异的反应活性和光学性能

132557-72-3&#xff0c;5-Sulfo-2,3,3-trimethyl indolenine sodium salt&#xff0c;2,3,3-三甲基-3H-吲哚-5-磺酸&#xff0c;具有优异的反应活性和光学性能&#xff0c;一种深棕色粉末 您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;132557-72-3&#xff0c;5…

使用maven项目引入jQuery

最近在自学 springBoot &#xff0c;期间准备搞一个前后端不分离的东西&#xff0c;于是需要在 maven 中引入jQuery 依赖&#xff0c;网上百度了很多&#xff0c;这里来做一个总结。 1、pom.xml 导入依赖 打开我们项目的 pom.xml 文件&#xff0c;输入以下坐标。这里我使用的是…

[BUUCTF]-Reverse:reverse3解析

查看ida 从下图的/3和*4可以推断得出来是base64加密。 ida里大致意思就是我们输入的字符串经过base64加密&#xff0c;循环递减&#xff0c;最后等于str2&#xff0c;那我们输入的字符串就是flag。 完整exp&#xff1a; import base64 liste3nifIH9b_CndH print(len(list))fl…

2024年3月腾讯云服务器优惠价格曝光!这价格没谁了

腾讯云优惠活动2024新春采购节活动上线&#xff0c;云服务器价格已经出来了&#xff0c;云服务器61元一年起&#xff0c;配置和价格基本上和上个月没什么变化&#xff0c;但是新增了8888元代金券和会员续费优惠&#xff0c;腾讯云百科txybk.com整理腾讯云最新优惠活动云服务器配…

深度伪造,让网络钓鱼更加难以辨别

网络钓鱼一直是安全领域的一个突出话题&#xff0c;尽管这类诈骗形式已经存在了几十年&#xff0c;依旧是欺诈攻击或渗透组织的最有效方法之一。诈骗分子基于社会工程原理&#xff0c;通过邮件、网站以及电话、短信和社交媒体&#xff0c;利用人性&#xff08;如冲动、不满、好…

智能分析网关V4电瓶车检测与烟火算法,全面提升小区消防安全水平

2024年2月23日&#xff0c;南京市某小区因电瓶车停放处起火引发火灾事故&#xff0c;造成巨大人员伤亡和损失。根据国家消防救援局的统计&#xff0c;2023年全国共接报电动自行车火灾2.1万起。电瓶车火灾事故频发&#xff0c;这不得不引起我们的重视和思考&#xff0c;尤其是在…

用于游戏开发的顶级 PYTHON 框架

一、说明 我们试图用python开发游戏&#xff0c;一旦产生这个念头&#xff0c;就伴随这样一个问题&#xff1a;当今用于构建游戏的领先 Python 框架有哪些&#xff1f;python下&#xff0c;支持游戏开发平台有哪些优势&#xff1f;我们在这篇博文中告诉你。 二、高级游戏平台简…

小甲鱼Python07 函数初级

一、创建和调用函数 pass语句表示一个空的代码块&#xff0c;我们经常先写好函数&#xff0c;pass占一个坑&#xff0c;等规划好之后再来填坑。 函数也是可以指定参数的&#xff0c;我们会把参数传进去用来替代形参。 在Python里如果想要返回值&#xff0c;不需要指定函数的返…