H5新增表单元素、控件

本文详细介绍了HTML5中新增的表单输入类型,包括email、url、number、range等,以及Date pickers、search、color、tel等控件的使用。这些新特性提供了更严格的输入控制和验证,例如type='email'限制输入为邮箱格式,type='number'仅允许输入数字,type='date'等日期选择器方便用户选择日期。同时,文章还提及了表单属性如required、placeholder、autofocus、multiple和pattern,增强了表单的交互性和数据验证能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表单—新增控件类型

• HTML5 增加了多个新的表单输入类型,这些新特性提供了更好的输入控制和验证,主要内容如下。
• ①email、②url、③number、④range
• ⑤Date pickers (date, month, week, time, datetime, datetime-local)
• ⑥search、⑦color、⑧tel

type=”email”
• 限制用户输入为邮箱类型(即输入内容必须含有@符号,并且@前后内容不能为空)。email提供了邮箱的完整验证,必须包含@和后缀,如果不满足验证,会阻止表单提交

 <form>
         	<label>邮箱 :
         		<input  
         			type="email" 
         			required="required" 
         			pattern="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"/>
         		<input type="submit" />
         	</label>
         </form>

在这里插入图片描述
type=”url”
• 限制用户输入为网址,即输入内容必须含有"http:",并且后面内容不能为空.提供了网址的合法格式验证。必须包含 http:// 或者 https://

<form>
         	<label>网站 :
         		<input  
         			type="url" 
         			required="required" 
         			pattern="[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?>">
         		<input type="submit" />
         	</label>
         </form>

在这里插入图片描述
type=”number”
• 限制用户输入为数字类型,只能输入数字和小数点,不能输入其他字符,并且输入框最右边有上下调节按钮

在这里插入图片描述
案例:
最小值0、最大值100、步进值5、value初始值50

<form>
         	<label>数量 :
         		<input  
         			type="number" 
         			value="50"
         			min="0"
         			max="100"
         			step="5">
         		<!--<input type="submit" />-->
         	</label>
         </form>

在这里插入图片描述
type=”range”
• 显示为滑动条,会以一个滑块形式表现,包含一定范围内数值输入域

在这里插入图片描述
案例:初始值为10,最小值为0,最大值为100,步进值为20

 <form>
         	<label>数量 :
         		<input  
         			type="range" 
         			value="10"
         			min="0"
         			max="100"
         			step="20">
         		<!--<input type="submit" />-->
         	</label>
         </form>

在这里插入图片描述
type=Date Pickers(日期选择器)

<form>
         	<label>数量 :
         		<input  type="date" >
         		<input  type="time" >
         		<input  type="datetime-local" >
         		<input  type="month" >
         		<input  type="week" >
         		<!--<input type="submit" />-->
         	</label>
         </form>

在这里插入图片描述
type=”search”
• 作用:用于搜索域,比如站点搜索或 Google 搜索
• 渲染结果:显示为常规的文本域,在输入框输入文本后右边显示“x”,可以将输入的文本清除

	<input  type="search" >

在这里插入图片描述
type=”color”
颜色选择器,选择颜色的面板
在这里插入图片描述
type=”tel”
tel并不是来验证手机号码的,因为全球手机号码格式的标准不同。它的目的是能够在移动端打开数字键盘,而数字键盘就限制了用户只能填写数字而不能填写其他字符。

<input  type="tel"  >

在这里插入图片描述

	  <datalist id="field">
                            <option value="电气与电子工程学院"></option>
                            <option value="经济与管理学院"></option>
                            <option value="外国语学院"></option>
                            <option value="艺术与传媒学院"></option>
                        </datalist>

在这里插入图片描述

<output></output>

• 属性解析:
• ①for 规定一个或多个元素的 id 列表,以空格分隔。这些元素描述了计算中使用的元素与计算结果之间的关系
• ②name 规定 <output> 元素的名称
• 写法:
• output不能再写在其他任意位置,只能在form里面才有效果

<optgroup></optgroup>

• optgruop元素在html4已经存在,在HTML5进行了拓展。
• 简介:
选项组标签,将select元素中的选项进行逻辑分类,在select元素中直接定义,不允许嵌套,既不能进行第二次分组
• 属性:
①disabled:加载时禁用该选项组
②label: 用来定义分组显示的标签名

 <select>
        <optgroup label="国漫">
            <option>哪吒</option>
            <option>葫芦娃</option>
        </optgroup>
        <optgroup label="日漫">
            <option>奥特曼</option>
            <option>海贼王</option>
        </optgroup>
    </select>

在这里插入图片描述
H5新增的表单属性
在这里插入图片描述
在这里插入图片描述

required 属性
• 约束该表单元素在提交前必须输入值,提交文档时,限制文本框必须输入内容,否则无法提交,即如果未输入将阻止表单提交。
• 通俗理解:表明该元素是必填项,当提交表单的时候会自动验证该元素的内容是否不为空。

  <label>
                       <span>姓名 :</span>
                        <input type="text" placeholder="  请输入您的姓名" id="nick" required >
                    </label>

在这里插入图片描述
placeholder属性
• 占位符,当用户还没有输入值的时候,输入型控件可以通过 placeholder 属性向用户显示描性说明或者提示信息。使用 placeholder属性只需要将说明性文字作为该属性值即可。

 <input type="text" required="required" placeholder="请输入姓名"/>

在这里插入图片描述
autofocus 属性
• 在打开页面时使元素自动获取焦点,只有当一个页面是以使用某个控件为主要目的时,才对该控件使用 autofocus 属性。一个页面只能有一个控件有该属性。

在这里插入图片描述

  <input type="text" required="required" placeholder="请输入姓名"/ autofocus="autofocus">

在这里插入图片描述
multiple属性
• 文件上传多选或多个邮箱地址 ,可以选择多个文件;在email中,可以输入多个邮箱地址,以逗号分隔
pattern属性
• 规定用于验证 input 域的模式,模式为正则表达式,验证表单元素

<label>
      				  帐号:<input 
                   type="text" 
                    required 
                    autofocus 
                    placeholder="请输入账号" 
                    pattern="^[0-9a-zA-Z]{6,16}$" />
                  	  请输入a-zA-Z0-9且长度6-16位的字符
					</label>

在这里插入图片描述

### HTML5 中新增的 Input 类型及属性 HTML5 的推出极大地扩展了 `<input>` 元素的功能,增加了多种新类型的输入控件以及一些实用的新属性。这些改进使得开发者能够更方便地处理各种数据类型并提升用户体验。 #### 新增的 Input 类型 以下是 HTML5 中新增的一些重要 `type` 属性值: 1. **email** - 用于指定电子邮件地址的输入框。 - 浏览器会验证该字段的内容是否符合标准的电子邮件格式[^1]。 2. **url** - 提供了一个专门用来输入 URL 地址的文本框。 - 输入的数据会被自动校验以确保其是一个合法的网址。 3. **number** - 创建一个允许用户输入数值的控件。 - 支持上下箭头调整数字大小,并可以设置最小值 (`min`) 和最大值 (`max`) 范围。 4. **range** - 表现为滑动条形式的一个数值选择器。 - 用户可以通过拖拽滑块来选取某个范围内的整数或浮点数值。 5. **date**, **time**, **datetime-local**, **month**, **week** - 这些类型分别提供了不同的日期时间选择功能。 - `date`: 让用户挑选具体某一天。 - `time`: 设置特定时刻。 - `datetime-local`: 结合日期和本地时间为单一单元格。 - `month`: 如同名称所示仅限于月份的选择[^3]。 6. **color** - 打开颜色拾取对话框让用户选定一种色彩作为返回值。 7. **search** - 定义搜索引擎查询字符串使用的特殊文本区域。 - 外观上可能稍有不同以便提示这是搜索栏而非普通文字录入区[^2]。 8. **tel** - 预留给电话号码用途的输入方式。 - 不做任何内置格式化检查但由于设备特性可能会触发拨号键盘布局优化。 9. **file** (增强) - 原本就存在但在新版中有更多选项支持多文件上传等功能。 #### 新增的重要属性 除了上述提到的各种新型态之外还有一些通用或者针对某些种类特别设计出来的附加参数可供配置: 1. **placeholder** - 显示灰色占位符告诉访问者预期填入什么样的资料直到他们实际动手为止就会消失不见. 2. **required** - 强迫使用者必须填写此项目才能继续下一步骤操作比如提交表单之类的情况发生时才会生效. 3. **pattern** - 接受正则表达式的模式匹配机制从而实现自定义规则下的有效性和错误反馈消息定制服务. 4. **autofocus** - 页面加载完成后立即聚焦到设定好的那个元素上面去无需额外动作即可获得焦点状态. 5. **readonly** - 将当前对象设为只读模式意味着虽然可见却无法修改内容除非另有说明解除限制才行. 6. **disabled** - 把组件暂时禁用掉既不可见也不能交互直至重新启用为止. 7. **autocomplete** - 控制网页上的个人历史记录能否被利用起来辅助快速完成常见重复性的任务像登录名密码之类的敏感信息安全保护措施之一就是将其关闭即 `"off"` 模式下运行[^4]. 下面给出一段综合运用以上特性的示范代码片段如下所示: ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>HTML5 Form Example</title> </head> <body> <form action="#" method="post" autocomplete="on"> <!-- Email Field --> <label for="email">电子邮箱:</label><br/> <input type="email" id="email" name="user_email" placeholder="请输入您的邮件..." required/><br/> <!-- Number Field with Range Constraints --> <label for="age">年龄:</label><br/> <input type="number" id="age" name="user_age" min="18" max="100"/><br/> <!-- Date Picker --> <label for="dob">出生日期:</label><br/> <input type="date" id="dob" name="user_dob"/><br/> <!-- Color Selector --> <label for="fav_color">最喜欢的颜色:</label><br/> <input type="color" id="fav_color" name="favorite_color"/> <!-- Submit Button --> <button type="submit">注册账户</button> </form> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值