You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请问下述HTML input的pattern属性正则表达式的含义是什么?

你提到的这段正则是HTML input标签pattern属性常用的邮箱格式校验规则,逐段拆解含义如下:

  • 首尾的^和$:代表规则匹配输入内容的全部起止,也就是说输入的所有字符都要符合中间的校验逻辑,不能有多余的前后缀内容
  • ^之后的[a-zA-Z0-9.!#$%&'*+/=?^_{|}~-]+`:对应邮箱@符号前的用户名部分:
    • 方括号内是允许使用的字符范围:大小写英文字母、0-9数字,以及列出的所有特殊符号都属于合法字符
    • 末尾的+代表前面的字符至少要出现1次,也就是用户名不能为空
  • 中间的@:严格匹配邮箱必备的@符号
  • @之后的[a-zA-Z0-9-]+:对应邮箱域名的主体部分(比如xxx@163.com里的163):
    • 允许使用大小写英文字母、0-9数字和短横线
    • 末尾的+代表这部分至少要有1个字符
  • 末尾$之前的(?:\.[a-zA-Z0-9-]+)*:对应域名的后缀部分(比如.com、.edu.cn这类):
    • (?:)是正则的非捕获分组语法,作用是把内部的规则打包成一个整体,仅用于校验不会额外提取匹配结果,适合表单校验场景
    • 内部的\.代表匹配普通英文点号(加斜杠是因为点在正则里是特殊字符,需要转义才能匹配字面意义的点)
    • 点号后接的[a-zA-Z0-9-]+规则和域名主体部分一致
    • 末尾的*代表前面的整个分组可以出现0次或多次,既支持普通单后缀域名(比如xxx@example.com),也支持多级后缀域名(比如xxx@mail.example.org.cn)

这个规则是W3C推荐的通用邮箱格式校验规则,能覆盖绝大多数合法邮箱的格式校验需求,日常开发的表单场景基本都可以直接使用。

内容的提问来源于stack exchange,提问作者Glenn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:09:03