regex - 查找 HTML5 表单用于验证的正则表达式

标签 regex html

一些 HTML5 输入元素接受 pattern 属性,这是用于表单验证的正则表达式。其他一些 HTML5 输入元素,例如 input type=email 会自动进行验证。

现在看来,不同浏览器处理验证的方式是不同的。给定一个特定的浏览器,比如 Chrome,是否可以通过编程方式提取用于验证的正则表达式?或者也许那里有文档?

最佳答案

HTML5 spec当前列出了一个与 ABNF 匹配的有效电子邮件地址:

1*( atext / "." ) "@" ldh-str *( "." ldh-str )

这在 this question 中有阐述. @SLaks answer提供等价的正则表达式。

就是说,通过对源代码的一点挖掘,表明 WebKit implemented使用与 SLaks answer 基本相同的正则表达式验证电子邮件地址,即,

[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*

但是,不要求通过正则表达式验证电子邮件地址。例如,Mozilla (Gecko)使用非常基本的 finite state machine 实现电子邮件验证.因此,电子邮件验证不需要正则表达式。

关于regex - 查找 HTML5 表单用于验证的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7786058/

相关文章:

javascript - 将 <object> 用于 SVG 并从 HTML 内联 css 以编辑填充

ruby-on-rails - Rails 3:验证IP字符串

regex - 无法获取 `Regex::replace()` 来替换编号的捕获组

html - 如何使 HTTP/CSS 复选框 slider 正常工作?

jquery - 使用 Jquery 基于页面上光标位置的屏幕掩码

html - 当我在其内容的第一个数字处有一个数字时,跨越边界半径问题(在 chrome 中)

java - 正向回溯正则表达式

java - 使用正则表达式删除标签之间的文本

正则表达式在coldfusion中匹配整个单词串

html - 使用默认值覆盖 css 外观值