所谓新数据类型,其实是体现在倆方面的:
- 输入方式:对比起以前只能用键盘敲的
input:text
,现在已经有调用日历/时钟的,有调用调色板的,有拉滑动条的……总体来说就是让你可以更懒更准确地进行输入。 - 格式校验:新的数据类型如range、color等其实不需要校验,因为用户只能按系统提供的方式进行输入,所以不存在出错的可能。而对于一些需要使用键盘输入的input,则提供了数据格式的校验,比如
input:url
、input:email
等。格式校验的时机有两种,一是提交表单时检查该表单的所有元素;二是像”input:Date Pickers”这种的,在输入时便已经自动修正格式了,举个例子,如果我输入”2015年11月50日”,则在输入完”50”的那一瞬间就会自动修正为最大值”31”。
Input 类型 - email
email 类型用于应该包含 e-mail 地址的输入域。
在提交表单时,会自动验证 email 域的值。
E-mail: <input type="email" name="user_email" />
在手机输入法上会添加@
和.com
选项。
Input 类型 - url
url 类型用于应该包含 URL 地址的输入域。
在提交表单时,会自动验证 url 域的值。
Homepage: <input type="url" name="user_url" />
在手机输入法上会添加.com
选项。
Input 类型 - number
number 类型用于应该包含数值的输入域。
您还能够设定对所接受的数字的限定:
Points: <input type="number" name="points" min="1" max="10" />
在手机输入法上会调出数字输入面板。
另外,input:number
拥有以下属性来帮助用户输入及校验。
属性 值 描述
max number 规定允许的最大值
min number 规定允许的最小值
step number 规定合法的数字间隔(如果 step=”3”,则合法的数是 -3,0,3,6 等)
value number 规定默认值
Input 类型 - range
range 类型用于应该包含一定范围内数字值的输入域。
range 类型显示为滑动条。
您还能够设定对所接受的数字的限定:
<input type="range" name="points" min="1" max="10" />
另外,input:range
拥有以下属性来帮助用户输入及校验。
属性 值 描述
max number 规定允许的最大值
min number 规定允许的最小值
step number 规定合法的数字间隔(如果 step=”3”,则合法的数是 -3,0,3,6 等)
value number 规定默认值
Input 类型 - Date Pickers(日期选择器)
HTML5 拥有多个可供选取日期和时间的新输入类型:
date - 选取日、月、年
month - 选取月、年
week - 选取周和年
time - 选取时间(小时和分钟)
datetime - 选取时间、日、月、年(UTC 时间)
datetime-local - 选取时间、日、月、年(本地时间)
下面的例子允许您从日历中选取一个日期:
Date: <input type="date" name="user_date" />
Input 类型 - search
search 类型用于搜索域,比如站点搜索或 Google 搜索。
search 域显示为常规的文本域,但如果文本域中有内容,则会显示一个x
按钮,按下后即可清除已输入的内容。