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

2024-03-16

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

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


The HTML5 规范 http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address当前列出了一个与 ABNF 匹配的有效电子邮件地址:

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

这在这个问题 https://stackoverflow.com/questions/4940120/is-there-a-java-implementation-of-the-html5-input-email-validation. @SLaks 答案 https://stackoverflow.com/questions/4940120/is-there-a-java-implementation-of-the-html5-input-email-validation/4940155#4940155提供等价的正则表达式。

也就是说,稍微挖掘一下源头,就会发现WebKit 实现 http://trac.webkit.org/browser/trunk/Source/WebCore/html/EmailInputType.cpp?rev=86298使用与以下基本相同的正则表达式进行电子邮件地址验证斯拉克的回答 https://stackoverflow.com/questions/4940120/is-there-a-java-implementation-of-the-html5-input-email-validation/4940155#4940155, i.e.,

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

但是,不要求电子邮件地址通过正则表达式进行验证。例如,Mozilla(壁虎) http://hg.mozilla.org/mozilla-central/file/cf5da681d577/content/html/content/src/nsHTMLInputElement.cpp#l3967使用非常基本的方法实现电子邮件验证有限状态机 http://en.wikipedia.org/wiki/Finite-state_machine。因此,电子邮件验证中不需要涉及正则表达式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找 HTML5 表单用于验证的正则表达式 的相关文章

  • Javascript 正则表达式来匹配正则表达式

    我正在研究一个特殊的正则表达式来匹配 javascript 正则表达式 现在我有这个正则表达式工作 i g m 例如 foo match i g m gt foo foo undefined foo i match i g m gt foo
  • 如何在表格的 tbody/thead 部分周围创建边框?

    我正在尝试创建一个包含表格数据的页面 该页面必须显示为多个表格 然而 我有两个相互冲突的要求需要解决 每个表格周围都必须有边框 每个表格的列宽必须能够根据内容重新调整大小 但是 所有表中的列宽必须一致 即列的大小基于所有表中该列中最大的单元
  • 使用本机 JavaScript 获取过渡中的 CSS 值

    这个问题之前被问过 但答案使用了 jQuery here https stackoverflow com q 8920934 3186555 因此 我将调整问题以专门询问native解决方案 to 最小化依赖关系 假设您有一个 div 然后
  • 为什么我的图像下方有空间? [复制]

    这个问题在这里已经有答案了 图像在下面获得了神秘的空白空间 即使padding 0 margin 0被应用 示范 http jsfiddle net cLETP 红色边框应该包围图像 但底部有空间 造成这种情况的原因是什么 如何删除该空间
  • 如何解决此错误:属性 rel 的原始源值错误

    我正在尝试使用 w3c 验证我的网站 但出现错误 Bad value original source for attribute rel on element link The string original source is not a
  • 如何使用正则表达式匹配模式的最后一次出现

    我有一个像这样的字符串 token1 token2 我要匹配 token2 使用正则表达式 它应该匹配的其他可能的情况是 token1 应该匹配 最后一个 token1 应该匹配 最后一个 token1 token2应该匹配 token2
  • 使用其innerHTML查找元素

    请看一下这个 DOM 树 div div span Home1 span div span Home2 span span Home3 span div 现在假设我有一个场景 我以某种方式获得了第一个跨度的innerHTMLHome1 是否
  • 链接无效

    我正在尝试使用以下命令创建一组指向页面中特定部分的链接 a href 符号 但它似乎不起作用 点击链接似乎没有任何反应right click gt open in a new tab更改 url 但不会移动到页面的其他部分 我使用的是火狐浏
  • 多语言标记验证器

    是否有免费的在线多语言标记验证服务可以正确识别和验证多语言标记 我确实找到了totalvalidator和htmlvalidator 但这些是 付费 非基于网络的解决方案 Use http validator w3 org nu http
  • 正则表达式 '?' 的类似物(前一项可选)在T-SQL中像什么?

    我想知道 是否可以翻译包含 的正则表达式 前面的项目可选 在 T SQL LIKE 模式中 DB 端无需任何操作 例如 31 4 我可以将其分成几个子句 但如果正则表达式包含很多 这不太方便 LIKE不使用正则表达式 并且它使用的模式语言没
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • VBA 完成 Internet 表单

    我正在寻找将 Excel 中的值放入网页的代码 Sub FillInternetForm Dim IE As Object Set IE CreateObject InternetExplorer Application IE naviga
  • VueJS 中数据无法正确显示

    我的 VueJS 代码有一个小问题 在 输出 压缩的 GS1 数字链接 URI 部分中 When there is no result it should have nothing display like this I have remo
  • 防止垃圾邮件按钮呼叫功能

    如何防止调用函数时出现垃圾邮件按钮 就像用户只能在按钮上每 1 秒调用一次该函数 有办法做到吗 因为我尝试了 setTimeout 但没有成功 它仍然在发送垃圾邮件 顺便说一句 我使用 Jquery 这是我的代码
  • 检查给定字符串是否等于给定字符串集中的至少一个字符串的有效方法

    给定一组字符串 比如说 String1 String2 StringN C 中确定最有效的方法是什么 返回true or false 是否给定string s匹配上面集合中的任何字符串吗 Boost Regex 可以用于此任务吗 std u
  • 转义 h 轮廓

    因此 我一直在尝试找出在被较低级别的标题吸引后添加内容的最佳方法是什么 section h1 Title of Section h1 h2 Related 1 h2 h2 Related 2 h2 p I NEED THIS TO BE P
  • 两列表:一列尽可能小,另一列占据其余部分

    我在 div 中有一个 to columns 表 div table tbody tr td class action a a td td class content p Bigger text variable size p td tr
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • shell中如何分割字符串

    我有一个变量作为 string ABC400p2q4 我怎样才能分开ABC400 and p2q4 我需要将它分成两个变量 结果我得到 echo var1 ABC400 echo var2 p2q4 可以用任何字母字符代替 ABC 可以用任

随机推荐

  • 如何列出远程SVN存储库中的所有文件?

    我访问一个large远程 SVN 存储库 由于我通常只需要其内容的一小部分 因此我进行了 稀疏结帐 svn checkout depth empty svn ssh src 每当我需要存储库中的文件夹时 我都可以这样做 svn up fol
  • Angular 2默认选中单选按钮

    我正在尝试检查默认值为零的单选按钮 我正在尝试使用 checked true 属性 但这是行不通的
  • Swift 可重用 UITextFieldDelegate

    我正在尝试实现一个可重用的UITextFieldDelegate类如下 class CustomTextFieldDelegate NSObject UITextFieldDelegate 所有委托协议方法均已正确实现 In the con
  • Node.js:如何序列化/反序列化 React 组件?

    我想序列化一个 React 元素 给定 props 的 React 组件的实例 并在其他地方反序列化它 你为什么问 我希望能够通过标准输出从一个进程发送该类 并在另一个进程中渲染它 我还希望渲染的组件是交互式的 所以只需使用ReactDOM
  • CSS 网格布局使用 javascript 改变列宽

    我尝试设置 CSS 网格布局如下 wrapper width 800px display grid grid template columns repeat 3 200px grid template rows repeat 5 200px
  • 如何在itextsharp文档中并行设置两个表?

    How can I set two tables parallelly in a document 我的生成 pdf 的示例代码是 Document doc new Document new Rectangle 288f 144f 10 1
  • 我可以确定查询是否找不到任何值在指定范围内的子项吗?

    我能以某种方式确定是否没有孩子ref存在于之间的值 1 and newTotal 这就是我希望能起作用的 如果查询中存在子项 则回调将运行 ref orderByValue startAt 1 endAt newTotal limitToL
  • 如何在 PHP Linux 中访问 .mdb 数据源?

    我刚刚安装unixODBC为了访问我的 mdb 数据源PHP 5 3 CentOS 6 10使用这个命令 yum install unixODBC 在 Windows 中我可以简单地取消注释extension php pdo odbc dl
  • 实体框架 CTP4 代码优先:映射受保护的属性

    我想在模型上使用延迟加载集合 但我希望通过单独的方法来完成添加 删除功能 所以像这样 class Model protected virtual ICollection
  • 全局分区索引是否比非分区索引更好(更快)?

    我有兴趣了解对通常作为查询目标的数字列进行分区是否有性能优势 目前我有一个包含约 5000 万条记录的物化视图 当使用常规 B 树索引并按此数字列搜索时 我得到的成本为 7 查询结果大约需要 0 8 秒 使用非预置缓存 为该列添加全局哈希分
  • 如何设置每个组件的再磨刀设置

    我在一个代码库中工作 由于历史原因 并非所有项目都具有相同的编码约定 事实上 在一个 sln 中 我有需要不同命名约定的项目 有没有办法让 resharper 根据我正在编辑的文件所在的项目使用不同的设置 自 ReSharper 6 1 起
  • iOS7 中的警报视图显示白色矩形

    以下代码在 iOS 5 到 6 1 上完美运行 我什至有带有该代码的应用程序 void showActivityIndicator if mLoadingView mLoadingView UIAlertView alloc initWit
  • 谷歌关闭编辑器/所见即所得

    有人有使用 Google Closure Editor WYSIWYG 的经验吗 我正在考虑从 CKEDITOR 迁移到 Google Closure Editor WYSIWYG 理想情况下 我很想使用 etherpad 编辑器 但似乎没
  • ES7只由两个特性组成吗?

    根据这个博客 https webapplog com es7 es8 https webapplog com es7 es8 ES7的特点是 Array prototype includes 求幂运算符 这是正确的吗 如果是的话 为什么花了
  • 字符串值前面的“u”符号是什么意思? [复制]

    这个问题在这里已经有答案了 是的 简而言之 我想知道为什么我在我的键和值前面看到一个 u 我正在渲染一个表单 该表单具有特定标签的复选框和一个用于 IP 地址的文本字段 我正在创建一个字典 其键是硬编码在 list key 中的标签 字典的
  • ViewPager 和数据库

    数据位于数据库中 因此我通常会使用 CursorAdapter 并让它与 ListView 上的 CursorLoader 一起使用 但是现在我需要一个 ViewPager 而不是 ListView 它需要一个 PagerAdapter 而
  • Go 中的随机数组

    我尝试将以下 Python 代码翻译为 Go import random list i for i in range 1 25 random shuffle list print list 但发现我的 Go 版本又长又尴尬 因为没有 shu
  • 结合代码契约和正则表达式

    所以我有一个非常简单的类 其中一个字符串作为属性 该字符串必须具有一定的模式 我正在尝试使用代码合同来强制执行此操作 这个类看起来像这样 class SimpleClass public Property get set public Si
  • 在 UITableViewCell 中播放视频

    我正在尝试在单元格本身中播放视频 而不是全屏视频显示 我在用MPMoviePlayerController以此目的 我已经定义了 MPMoviePlayerController moviePlayer 在实施部分 Then in cellF
  • 查找 HTML5 表单用于验证的正则表达式

    一些 HTML5 输入元素接受pattern属性 它是用于表单验证的正则表达式 其他一些 HTML5 输入元素 例如 input type email自动进行验证 现在看来 跨浏览器处理验证的方式是不同的 给定一个特定的浏览器 比如 Chr