`
lucifinilhades
  • 浏览: 87326 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

HTML5 表单验证

阅读更多

HTML5中,在增加了大量的表单元素与属性的同时,也增加了大量在提交时对表单与表单内新增元素进行内容有效性验证的功能。

自动验证

在HTML5中,通过对元素使用属性的方法,可以实现在表单提交时执行自动验证的功能。下例将在提交时自动验证输入的内容是否为数字,若不能通过验证,将显示错误信息,表单验证示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8"/>
		<title>表单验证示例</title>
	</head>
	<body>
		<form method="post">
			<input type="text" name="text" required pattern="^\w.*$"/>
			<input type="submit" value="提交"/>
		</form>
	</body>
</html>

required属性

HTML5中新增的required属性可以应用在大多数输入元素上(除了隐藏元素、图片元素按钮上)。在提交时,如果元素中内容为空白,则不允许提交,同时在浏览器中显示信息提示文字,提示用户这个元素中必须输入内容。

pattern属性

对input元素使用该属性,并且将属性值设置为某个格式的正则表达式,在提交时会检查共内容是否符合给定格式。当输入的内容不符合给定格式时,则不允许提交,同时在浏览器中显示信息提示文字,提示输入的内容必须符合给定格式,例如:

<input type="text" pattern="[0-9][A-Z]{3}" name="part" placeholder="输入内容:一个数字与三个大写字母。"/>

 

min属性与max属性

这两个属性是数值类型或日期类型的input元素专用属性,它们限制了在input元素中输入的数值与日期的范围。

step属性

该属性控制input元素中的值增加或减少时的步长。

显式验证

在HTML5中,form元素与input元素(包括select与textarea元素)都具有checkValidity()方法,调用该方法可以显式的对表单内所有元素内容或单个元素内容进行有效性验证。该方法的返回类型为boolean。示例如下:

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8"/>
	<title>checkValidity 示例</title>
	<script type="text/javascript">
		var check = function() {
			var emailEmnt = document.forms['testForm'].email;
			var emailTxt = emailEmnt.value;
			if(emailTxt == "") {
				alert("请输入E-mail地址!");
				return false;
			} else if(!email.checkValidity()) {
				alert("请输入正确的E-mail地址!");
				return false;
			}
			return true;
		}
	</script>
</head>
<body>
	<form id="testForm" name="testForm" onsubmit="return check();">
		<label for="email">E-mail:</label>
		<input type="email" name="email"/>
		<button type="submit">提交</button>
	</form>
</body>
</html>

另外,在HTML5中,form元素与input元素还存在一个validity属性,该属性返回一个ValidityState对象,该对象具有很多属性,但最简单、最重要的属性为valid属性,它表示了表单内所有元素内容是否有效或单个input元素内容是否有效。

 

取消验证

有时可能想把表单临时提交一下,但又不想让它进行有效性验证。有两种方法可以取消表单验证。

第一种方法是利用form元素的novalidate属性,它可以关闭整个表单验证。当整个表单需要验证的内容较多,但又想先提交一部分内容时,可以使用该方法。先把表单的该属性设置为true,关闭表单验证,并提交第一部分内容,然后在将要提交第二部分内容时,再将该属性设置为false,打开表单验证,进行第二部分内容的提交。

第二种方法是利用input元素或submit元素的formnovalidate属性,利用input元素的formnovalidate属性可以让表单验证对单个input元素失效;而如果对submit按钮使用该属性,点击按钮时,相当于利用了form元素的novalidate属性,整个表单验证都将关闭。

利用这一点可以实现“假提交”与“真提交”的效果。

自定义错误信息

HTML5中许多新的input元素都带有对输入内容进行有效性检查的功能,如果检查不通过,浏览器会针对该元素提供错误信息。但有时开发者不想使用这些默认的错误信息提示,而想使用自定义的信息提示,或者有时想给某个文本框增加一种错误信息提示等。要实现这样的功能,可以使用JavaScript调用各input元素的setCustomValidity()方法来自定义错误信息。示例如下:

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8"/>
	<title>自定义错误信息示例</title>
	<script type="text/javascript">
		var check = function() {
			var passwd1 = document.forms['testForm'].passwd1;
			var passwd2 = document.forms['testForm'].passwd2;
			if(passwd1.value != passwd2.value) {
				passwd2.setCustomValidity("密码不一致!");
				return false;
			} else {
				passwd2.setCustomValidity("");
			}
			var email = document.forms['testForm'].email1;
			if(!email1.checkValidity()) {
				email1.setCustomValidity("请输入正确的E-mail地址!");
				return false;
			}
			return true;
		}
	</script>
</head>
<body>
	<form id="testForm" name="testForm" onsubmit="return check();">
		<label for="pass1">密码:</label><input type="password" name="passwd1"/><br/>
		<label for="pass2">确认密码:</label><input type="password" name="passwd2"/><br/>
		<label for="email">E-mail:</label><input type="email" name="email1"/><br/>
		<button type="submit">提交</button>
	</form>
</body>
</html>

 

 

分享到:
评论

相关推荐

    bootstrap风格的html5表单验证示例

    在这个“bootstrap风格的html5表单验证示例”中,我们将深入探讨如何结合这两者来创建高效且用户友好的表单。 1. **HTML5表单元素**:HTML5新增了多种表单元素,如`&lt;input type="email"&gt;`用于电子邮件输入,`...

    HTML5表单验证

    HTML5表单验证,有效验证email,数字,字母,数字+字母,位数

    一个HTML5表单验证效果.rar

    HTML5表单验证是现代网页开发中的重要组成部分,它允许开发者在客户端实现数据验证,从而提高用户体验并减轻服务器端的压力。这个"一个HTML5表单验证效果.rar"压缩包文件包含了一个实例,演示了如何使用HTML5的内置...

    html5 Ajax表单验证实例.rar

    在这个"html5 Ajax表单验证实例"中,我们将会探讨如何利用HTML5的新特性与Ajax技术结合,来创建一个既高效又能提供实时反馈的表单验证系统。 首先,HTML5引入了许多新的表单元素和属性,使得表单验证变得更加简单且...

    基于Bootstrap5的Tab标签页的小组件,能让HTML5表单验证的提示信息在Bootstrap5的Tab标签页能正常显示

    在这个基于Bootstrap5的Tab标签页小组件中,我们专注于如何让HTML5表单验证的提示信息在Tab标签页内正确地显示,这对于提升用户体验至关重要。 HTML5是现代网页开发的标准,它引入了许多新的元素和功能,其中就包括...

    HTML5表单验证在Tab标签页中的应用.pdf

    HTML5表单验证在Tab标签页中的应用 HTML5表单验证是现代Web开发中一个重要的功能,它允许开发者在不依赖额外JavaScript库的情况下,直接通过HTML标记来设定验证规则,确保用户输入的数据符合预设的条件。这种方法...

    jquery_Html5验证表单

    Html5 引入了内置的表单验证功能,为开发者提供了更加丰富的表单控制和验证机制。以下是一些关键的 Html5 验证属性: 1. **`required`**:此属性强制用户必须填写表单字段,否则提交表单时会触发浏览器的默认错误...

    js浏览器html5表单验证

    HTML5表单验证是前端开发中的一项重要技术,主要用于确保用户输入的数据符合特定格式和要求。在介绍之前,我们先了解一下表单验证的背景和意义。随着HTML5的出现,浏览器原生表单验证功能得到了加强,能够对多种输入...

    响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-11 HTML5 表单验证

    响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 第4章 HTML5 表单的应用 例4-11 HTML5 表单验证

    响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-9 HTML5 表单验证

    响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 第4章 HTML5 表单的应用 例4-9 HTML5 表单验证

    HTML5表单及其8种验证方法

    二、HTML5表单验证 1. 必填字段:使用`required`属性,可以确保用户必须填写该字段,否则提交时会触发浏览器的默认错误提示。 2. 类型验证:通过设置`type`属性,如`type="email"`或`type="url"`,浏览器会自动...

    国际表单验证标准驱动

    2. 国际标准:可能参照的是W3C的HTML5表单验证标准或其他类似的规范,允许跨地域、跨语言的兼容性。 3. Eclipse与MyEclipse:Eclipse是开源的Java IDE,MyEclipse是其商业版本,包含了更多对企业开发友好的特性。 4....

    html5手机登录表单验证代码.zip

    HTML5手机登录表单验证是前端开发中的一个重要环节,它涉及到网页交互的用户体验和数据安全性。在本压缩包中,包含的"html5手机登录表单验证代码"为我们提供了实现这一功能的实例。以下是关于这个主题的一些关键知识...

    基于HTML5新特性新规范的表单验证jQuery插件.zip

    这个"基于HTML5新特性新规范的表单验证jQuery插件.zip"文件,显然是一个利用HTML5的新功能并结合jQuery库来增强网页表单验证的工具。在深入探讨之前,我们先了解一下HTML5和jQuery的基本概念。 HTML5是HyperText ...

    modernizr html5表单提交按钮圆形进度条加载动画表单验证效果.zip

    这个压缩包“modernizr html5表单提交按钮圆形进度条加载动画表单验证效果.zip”显然包含了一个实现HTML5表单提交时,按钮显示圆形进度条加载动画以及表单验证效果的示例项目。以下将详细介绍相关的知识点。 1. **...

    Tooltip验证提示HTML5表单.zip

    在本项目"Tooltip验证提示HTML5表单.zip"中,我们可以看到如何结合HTML5的表单验证、jQuery、JavaScript和CSS来实现这一功能。 1. **HTML5表单验证**:HTML5引入了新的表单元素和属性,如`&lt;input type="email"&gt;`...

    HTML5登录表单验证 Tooltip验证提示

    表单验证功能非常实用,今天要分享的一款HTML5登录表单验证就非常酷,表单默认只对输入的长度作验证,你也可以自己修改正则表达式来完成更复杂的表单验证。当然这款HTML5表单验证最有优势的是他的外观,不但登录表单...

    HTML5表单验证剂「HTML5 Form validation remover」-crx插件

    当您想要从所有表单中删除HTML5表单验证时,只需按下简单按钮即可。 删除HTML5表单约束,即使存在必需的属性或其他自定义输入类型,也可以提交任何表单。 该扩展在当前页面的所有表单上都添加了novalidate属性,即使...

    HTML5 表单验证失败的提示语问题

    HTML5引入了一套新的表单验证机制,它能够帮助前端开发者轻松地实现表单验证功能,无需编写大量JavaScript代码。HTML5表单验证失败的提示语问题指的是在表单验证失败时,默认提示信息并不够友好和明确,往往只提示...

    html5手机登录注册表单验证html模板源码.zip

    HTML5手机登录注册表单验证是现代Web应用中不可或缺的一部分,尤其在移动设备上,它提供了用户友好的交互体验和数据验证机制。本模板源码是专为实现这一功能而设计的,它可以帮助开发者快速构建功能完备、用户体验...

Global site tag (gtag.js) - Google Analytics