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

Regex 查找HTML5表单用于验证的正则表达式,regex,html,Regex,Html,一些HTML5输入元素接受模式属性,这是用于表单验证的正则表达式。其他一些HTML5输入元素,例如,input type=email自动进行验证 现在看来,不同浏览器处理验证的方式是不同的。给定一个特定的浏览器,比如Chrome,是否可以通过编程方式提取用于验证的正则表达式?或者可能存在文档?当前列出的有效电子邮件地址与ABNF匹配: 1*( atext / "." ) "@" ldh-str *( "." ldh-str ) 这一点在本文中得到了阐述。提供与正则表达式等价的表达式 也就是说,

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

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

当前列出的有效电子邮件地址与ABNF匹配:

1*( atext / "." ) "@" ldh-str *( "." ldh-str )
这一点在本文中得到了阐述。提供与正则表达式等价的表达式

也就是说,通过对源代码进行一点挖掘,可以发现电子邮件地址验证使用的正则表达式与


但是,不要求电子邮件地址由正则表达式验证。例如,使用相当基本的。因此,电子邮件验证不需要正则表达式。

HTML5规范现在提供了一个(非规范性)正则表达式,该正则表达式应该完全匹配它指定为有效的所有电子邮件地址。我的博客上有一份: 在规范本身中: )

上面的版本不正确,只是因为它没有将域组件的最大长度限制为255个字符,也没有阻止它们以“-”开头或结尾

Gerv

这对我很有用:
pattern=“[^@]+@[^@]+.[a-zA-Z]{2,6}”

@jfriend00请看这里:@jfriend00:这取决于您对“有效电子邮件地址”的定义。如[this Response][,RFC822可以被正则表达式覆盖,但RFC5322不能。HTML5指定了一个更狭隘的“有效电子邮件地址”概念,可以使用正则表达式进行验证(见我的答案)。[a-z0-9!$%&'+/=?^ `{124;}-]+@[a-z0-9-]+(\.[a-z0-9-]+)匹配单词。word@word在FF9中linux@jpse:如果您阅读了上面的链接规范,您会注意到它声明它故意违反RFC 5322,或者换句话说,用于HTML电子邮件字段的验证无法匹配一些有效电子邮件地址,并且匹配了一些无效电子邮件地址的字符串。您能链接正则表达式而不是l吗链接到您的博客可能有一天无法解决?HTML5规范是永久链接的最佳选择:。
[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*