regex - 电子邮件域的 HTML 输入模式

标签 regex html input pattern-matching

我尝试使用 HTML input 标记的 pattern 属性使用以下代码对特定电子邮件域进行简单的客户端验证:

<input type="text" pattern="^[A-Z0-9._%+-]+@domain\.com\.ph$" />

我预计以下输入会成功: test.test@domain.com.ph

但不知何故它似乎不起作用。 我是否使用了不正确的正则表达式

为了消除一些答案,我尝试检查以下内容:

  • 浏览器支持模式验证
  • 模式 ^[A-Z0-9._%+-]+@domain.com.ph$
  • 模式 ^[A-Z0-9._%+-]+@domain.com.ph

最佳答案

删除 anchor ^$。使用 pattern 时不需要这些。

而字符类中的0-9A-Za-z_可以用\w代替。

input:valid {
  color: green;
}
input:invalid {
  color: red;
}
<input type="text" pattern="[\w.%+-]+@domain\.com\.ph" />

关于regex - 电子邮件域的 HTML 输入模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33315971/

相关文章:

Javascript:将非表达式简化为捕获组的正则表达式

javascript - 如何使用 d3 更新文本输入的内容?

javascript - 使用 "enter"动态更改按下的按钮

JavaScript RegExp 不能使用两次?

java - 使用 java 正则表达式读取文本文件以匹配多个模式

javascript - 简单电话 RegXP 返回 : Uncaught SyntaxError: Invalid or unexpected token

javascript - 禁用父 div 的子级的单击事件

javascript - 将所有子链接 HREF 属性克隆到另一个 DIV 链接?

javascript - 在 &lt;input&gt; 中动态添加 <div>

python - 测试用户输入 - Python