HTML5中表单验证的好处

HTML5中表单验证的好处,第1张

HTML5中表单验证有如下好处:

1、可判断用户是否已填写表单中的必填项目。

2、可判断用户输入的邮件地址是否合法。

3、可判断用户是否已输入合法的日期。

4、可判断用户是否在数据域(numeric field)中输入了文本。

表单验证通常采用策略模式的思想,把一个个验证规则封装成一个函数,比如非空规则、最大长度规则等,不同的输入框选择某一个或者某几个规则进行验证。

扩展资料:

HTML表单一直都是Web的核心技术之一,有了它才能在Web上进行各种各样的应用。HTML5 Forms新增了许多新控件及其API,方便做更复杂的应用,而不用借助其它Javascript框架。

表单有以下几个基本知识点:

1、表单仍是以<form>元素作为容器,可在其中设置基本的提交特性。

2、当用户提交页面时,表单仍然向服务器发送表单控件的值。

3、之前老版本中的表单控件,如text radio checkbox等等,都可以按原有方式使用,尽管增加了新的功能。

4、仍然可以使用javascript *** 作表单控件。

首先先说一个html5中表单新增的一个功能,在我们之前的html中,表单元素必须放在form元素所包含的里面,在html5中,可以把他们写在页面上的任何一个地方,然后给该元素增加一个form属性,form属性的值为form表单的id,如下:

[html] view plain copy

<form method="get" id="test">

<input type="text" name="name"/> 

<input type="password" name="password"/>

<input type="submit" value="提交">

</form>

<input type="text" name="confirm" form="test">

在form元素里面的表单元素可以不用添加form属性,如果你想利用form获取所有表单元素的值,那么在form元素外面的表单元素就必须添加form属性,input、select、textarea等元素都满足该功能。

接下来开始介绍html5新增的表单元素,所有例子均用谷歌浏览器展示。

新增表单元素

email:提交表单的时候验证输入值是否满足email的格式

<input type="email" name="email"/>

url:提交表单的时候验证输入值是否满足url的格式

<input type="url" name="url"/>

number:根据你的设置提供选择数字的功能,其中min为最小值,max为最大值,value为默认值,step为点击箭头时数字的变化量,max、min、step、value均可不写,目前某些浏览器还不支持。

<input type="number" name="number" min=2 max=100 step=5 value="15"/>

range:会以一个滑块的形式表现包含一定范围内数字值的输入域,max为最大值,min为最小值,value为默认值,如果没有设置max和min,默认值是1-100

<input type="range" name="range" min=20 max=200 value="60"/>

日期和时间类型:

date:选取日、月、年

<input type="date" name="date"/>

month:选取月、年

<input type="month" name="month"/>

week:选取周、年

<input type="week" name="week"/>

time:选取小时、分钟

<input type="time" name="time"/>

datetime:选取时间、日、月、年(UTC时间)(我这里浏览器显示不出效果)

<input type="datetime" name="datetime"/>

datetime-local:选取时间、日、月、年(本地时间)

<input type="datetime-local" name="datetime-local"/>

search:用于搜索域,若加上result="s"属性,则会在搜索框前面加一个搜索图标(我这里浏览器显示不出效果)

<input type="search" name="search" result="s"/>

tel:验证输入的是否是电话号码的格式(我这里浏览器显示不出效果)

<input type="tel" name="tel" />

color:color类型会提供颜色拾取器,供用户选择颜色,并将用户选择的颜色填充到此元素中

<input type="color" name="color"/>

新增input属性(部分容易理解的就不进行代码演示了),后面为支持该属性的元素

autofocus:在打开页面时使元素自动获取焦点                                             //input,button,select,textarea

placeholder: 在用户输入时进行提示                                                                // input,textarea

form:这篇文章的开头就有这个属性,它用于表明元素属于哪个表单,无论元素的位置在哪里,所属表单都能获取该元素的值                              //input,output,button,select,textarea,fieldset

required:表明该元素是必填项,当提交表单的时候会自动验证该元素的内容是否不为空          //input,textarea

max/min/step:限制值的输入范围,以及值的变化程度。上面的新增number元素有介绍。        //input

autocomplete:使form元素或者input元素拥有自动完成功能,既记录用户之前输入的值,关闭为off,默认为on。                            //form,input

表单重写属性:                      //input

formaction:重写表单的action属性  

formenctype:重写表单的enctype属性。

enctype属性管理的是表单的MIME编码,MIME就是一种电子邮件传输的互联网标准,表明传递的信息类型和编码,共有三个值可选:

1,application/x-www-form-urlencoded(默认),设置表单传输的编码。

2,multipart/form-data,指定传输数据的特殊类型,主要就是上传的非文本内容,比如文件、图片。

3,text/plain,纯文本传输。

formmethod: 重写表单的method属性

formnovalidate:重写表单的novalidate属性

formtarget:重写表单的target属性。

比如:

[html] view plain copy

<form action="test.html" method="get" autocomplete="on">

姓名: <input type="text" name="name" /><br />

密码: <input type="password" name="pwd" /><br />

<input type="submit" formnovalidate="true" value="提交未经验证"/>

</form>

multiple:规定输入字段可选择多个值                    //input,select

list:list属性的值为datalist元素的id,datalist元素类似于选择框,在文本框获得焦点的时候以提示输入的方式显示。如下:

[html] view plain copy

姓名:<input type="text" name="name" list="name"/>

<datalist id="name" >

<option value="zhangsan">张三</option>

<option value="lisi">李四</option>

<option value-"wanger">王二</option>

</datalist>

pattern:验证input输入域的格式,即正则表达式。

<input type="text" name="name" pattern="[A-z0-9]{8}"/>

我们在浏览一些网站时经常会用到一种网页元素--表单。如下图,像这样允许用户输入并使用按钮提交信息的功能,我们称之为表单,那么接下来介绍HTML表单相关的一些知识点。

1)表单:帮助服务器收集客户端信息的一种机制

<form action="提交到的页面" method="提交的方法">

表单控件

form>

action:数据最后所提交的页面 绝对路径/相对路径

method:数据提交服务器时的提交方法 post get

2)表单控件:表单用于用户填写信息的控件

1、文本控件: 用于用户填写较少信息,且可以显示用户填写信息的控件

(注册时,用户名填写)

格式:

<input type="text" name=""  id=""  value="" size="" placeholder=""/>

type:设置控件样式 text

name:用于表单收集信息的一种标示符,也就是控件的名称

2、密码框:只是用户输入的内容看不到

<input type="password" name="" id=""  size=""/>

3、单选按钮组:由多个单选按钮组成的按钮组,只能选中其中一个,这种按钮组

<input type='radio' name="" value="" checked>标示符

name:为了保证传递服务器数据只有一个,所以name值必须相同

value:是用提交服务器时,该标签被提交的数据,value不能相同

checked:默认按钮组中的那个按钮被选中

性别:<input type='radio' name="" value="" checked>男

<input type='radio' name="" value="" checked>女

<input type='radio' name="" value="" checked>保密

所有表单控件name值不能相同!!!

4、复选按钮组: 与单选按钮组的区别可以选择多个,为了能将用户选择的多项内容传递服务器中,要将name名字后面加个[]

格式:

<input type='checkbox' name="" id="" value="" checked>标示

选课:

<input type='checkbox' name='classes[]' checked value='1'>语文

<input type='checkbox' name='classes[]'  value='2'>数学

<input type='checkbox' name='classes[]'  value='3'>历史

<input type='checkbox' name='classes[]'  value='4'>政治

<input type='checkbox' name='classes[]'  value='5'>物理

<input type='checkbox' name='classes[]'  value='6'>化学

<input type='checkbox' name='classes[]' checked value='7'>美术

注意:一定要在name属性后面添加[]

5)下拉列表框:

格式:

<select name="" >

<option value="" selected>下拉列表项option>

<option value="" >下拉列表项option>

<option value="" >下拉列表项option>

<option value="" >下拉列表项option>

<option value="" >下拉列表项option>

select>

multiple:允许用户选中多个下拉列表项

optgroup: 设置下拉分类标示

6) 文本域:可以输入多行数据的表单控件

<textarea name="" id="" cols="" rows="">

内容

textarea>

rows:设置文本域可以输入的行数

cols:设置的文本域输入的列数(一行可以输入多少个字符)(不是PX)

个人介绍:

<textarea name='descs' cols="50" rows="10">

我是个学生

textarea>

7)隐藏域:

<input type="hidden" name = “”value =””>

8)上传控件:

<input type="file" name=””>

9)按钮标签:

普通按钮:为js提供的控件

<input type='button' name=”” value=""/>

value:按钮中显示的数据和提交到服务器后该控件提交的值

<input type='button' name='clicks' value="点我"/>

提交按钮:点击后可以提交表单

<input type='submit' name="add" value='注册'/>

重置按钮:点击后可以将用户输入的数据清空

<input type='reset' name='cancel' value='重置'>

图片提交按钮:使用图片作为提交按钮

<input type='image' src='图片地址' name=””>

本文的分享就到这,希望我的回答能帮到你。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7554104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存