【问题标题】:HTML5 Pattern to email fieldHTML5 模式到电子邮件字段
【发布时间】:2021-01-11 06:19:29
【问题描述】:

我正在学习 HTML5 模式的工作原理,并且正在尝试进行电子邮件字段验证。
问题是当我在模式中添加“@”时,当我尝试时,该字段认为它无效。如果我尝试不带“@”的模式效果很好。

验证要求:

-> 以 5 个字符或数字开头
-> 然后是@
-> 连续,范围在 2 到 10 个字符或数字之间
-> 然后。
-> 必须有 'es'、'org' 或 'com'

代码:
<input type="text" name="email" id="email" pattern='^[a-zA-Z0-9]{5}@[a-zA-Z0-9]{2,10}.(es|com|org)$'>

PD:我知道电子邮件字段存在,但我正在测试 html5 模式。

【问题讨论】:

  • 您的示例适用于我的示例输入foof9@p3n.es
  • 注意:<input> 标签不使用也不需要结束斜线,并且在 HTML 中从来没有。
  • @Rob 对,我会改的,谢谢。
  • @JakeGrossman 哦,它可以工作 我正在尝试使用带引号的在线正则表达式测试器。

标签: validation email-validation html5-validation


【解决方案1】:

您可以在 html 5 中使用 type= "email"。这将验证电子邮件,但要验证特定模式的电子邮件,您需要在 jquery/javascript 中编写 regex

https://www.w3resource.com/javascript/form/email-validation.php

【讨论】:

    【解决方案2】:

    WHATWG 社区分享了这个与 HTML5 type="email" 匹配的兼容 JavaScript 和 Perl 的正则表达式。

    https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address

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

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 2014-03-10
      • 1970-01-01
      • 2013-11-05
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多