从字符串中获取所有电子邮件的 JavaScript 正则表达式

标签 javascript regex email-validation

给定一个字符串,如何匹配“< >”中的所有电子邮件。

例如:

我可以有 xxx@abc.com<yyy@abc.com>我只想匹配 yyy@abc.com .

谢谢!

最佳答案

要真正彻底,您可以从 RFC822, which describes valid email address formats 实现正则表达式, 但是,您可以通过像这样快速而简单的操作来节省时间和头痛:

var extractEmailAddress = function(s) {
  var r=/<?(\S+@[^\s>]+)>?/, m=(""+s).match(r);
  return (m) ? m[1] : undefined;
};
extractEmailAddress('xxx@abc.com'); // => "xxx@abc.com"
extractEmailAddress('<yyy@abc.com>'); // => "yyy@abc.com"

当然,此函数将非常宽容可能看起来像电子邮件地址的字符串,因此如果担心质量问题,可以改进正则表达式“r”。 p>

关于从字符串中获取所有电子邮件的 JavaScript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267412/

相关文章:

javascript - 如何提高我的 Canvas 动画速度?

javascript - 电子邮件验证 Javascript RegExp

java - 使用 RFC3696 进行电子邮件验证(电子邮件地址)

MySQL通配符匹配两个字段的子字符串

javascript - 使用 Javascript forEach 和 indexOf 在 JSON 中搜索多个过滤器

javascript - 使用 API 中的 $http.get 进行 Angular.js 本地开发

javascript - jQuery函数计算错误

regex - 为什么/如何在将重复的任意字符与捕获组匹配时需要额外的变量?

ruby - 正则表达式查找不匹配的括号

发票格式的正则表达式