HTML input的pattern属性正则用法?表单格式限制解析

夏丽酱_1798

夏丽酱_1798

2026-05-22

266人浏览

原创

pattern属性仅在表单提交或调用checkValidity()时触发全字符串匹配,不实时校验;它接受无斜杠、无标志的裸正则字符串,浏览器自动隐式添加^$锚定,type="number"等非文本类型不支持。

html input的pattern属性正则用法?表单格式限制解析

pattern 属性不会实时校验,只在表单提交或调用 checkValidity() 时触发全字符串匹配;它不是 JS 正则字面量,不能带 /,也不支持 i、g 等标志。

pattern 的正则必须写成裸字符串,不能加 /

浏览器把 pattern 当作纯字符串解析,自动以 ^ 和 $ 锚定首尾。加斜杠等于让浏览器去匹配字面的 / 字符,必然失败。

  • ❌ 错误: → 浏览器尝试匹配开头是 /、结尾是 / 的字符串
  • ✅ 正确: → 等效于 ^[0-9]{6}$,且更安全
  • ⚠️ 注意:^ 和 $ 可写可不写,写了不报错但冗余;若写了,也别加 /,比如 pattern="^[a-z]+$" 是合法的

字符类 [] 里 - 和转义必须小心

在 [] 中,- 是范围连接符(如 a-z),放中间就可能被当成非法 Unicode 范围;多数符号在字符类内本就不具元字符意义,乱加 反而触发“identity escape”错误。

  • ❌ 错误:[a-z-_] → 解析为 z 到 _ 的非法范围
  • ✅ 正确:[a-z_-] 或 [-a-z_] → - 放末尾或开头即视为字面短横线
  • ❌ 错误:[.+*] → .、+、* 在 [] 内无特殊含义,. 属于非法转义
  • ✅ 正确:[.+*](直接写);但 [、]、^(在开头)、 本身仍需转义,如 [[]^\]

哪些 type 支持 pattern?number 和 date 不行

pattern 只对 text、search、url、tel、email、password 这六种类型生效;number、date、checkbox 等用了也完全忽略。

生成HTML格式PPT
生成HTML格式PPT

从零开始创建惊艳、动画丰富且自包含的 HTML 演示文稿,或通过转换 PowerPoint 文件生成。当用户希望制作幻灯片、构建演示文稿、打造路演资料(pitch deck)、将 PPT/PPTX 转换为网页格式,或增强现有 HTML 演示文稿时,应使用此能力。该能力帮助用户通过视觉预览而非抽象选项来发掘自身审美偏好。

下载
  • type="tel":原生无格式校验,pattern 是唯一可控手段,例如 pattern="+?[1-9]d{1,14}"(E.164)
  • type="email":自带基础检查,pattern 是叠加校验,比如 pattern="[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,}$" 可限制域名后缀小写
  • type="number":完全无视 pattern,它的校验逻辑独立(靠 min/max/step)
  • 移动端软键盘不会因 pattern 自动切换,想调数字键盘请用 inputmode="numeric" 或 type="tel"

没反应?大概率是缺 required 或没触发验证时机

pattern 默认允许空值通过——除非你加了 required,或者用户输入了内容但不匹配。它也不会主动提示,错误气泡只在 submit 或手动调用 reportValidity() 时出现。

  • 常见静默失败原因:没加 required,且用户留空;或用户输错后没再次提交
  • 要实时反馈,得监听 input 或 blur 并手动调用:input.checkValidity()(返回布尔)或 input.reportValidity()(弹气泡)
  • title 不是可选项:没设 title 时,Chrome/Firefox 显示“请与所要求的格式匹配”,毫无指导性
  • 错误文案不可定制,但可用 setCustomValidity("xxx") 覆盖;注意每次输入后必须显式设为空字符串清空状态

最常被忽略的一点:pattern 校验发生在提交瞬间,它不阻止用户输入非法字符,也不重绘 UI;所有“输入即拦截”“高亮错误位置”“动态提示规则”都得靠 JS 补位,浏览器原生不做这些事。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

html

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

6935

7

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

2023.06.21

3832

4

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

3510

5

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.01

3519

5

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2023.08.11

5099

6

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

2023.08.11

3461

3

html转txt
html转txt

html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

3269

3

html文本框代码怎么写
html文本框代码怎么写

html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。

2023.09.01

2848

6

HTML嵌入CSS样式的方法
HTML嵌入CSS样式的方法

HTML嵌入CSS样式的方法有内联样式、内部样式表和外部样式表。本专题为大家提供CSS样式相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.20

2988

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 230人学习