【问题标题】:JavaScript Regular Expressions to get all e-mails from a stringJavaScript 正则表达式从字符串中获取所有电子邮件
【发布时间】:2011-09-10 04:16:49
【问题描述】:

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

例如:

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

谢谢!

【问题讨论】:

  • 你的字符串会不会像xxx@abc.com <yyy@abc.com>,因为这和你说的不一样,我想。此外,正则表达式并不是所有问题的答案。电子邮件旨在通过向该地址发送电子邮件来验证,而不是通过猜测什么是有效的。它们无效的原因有很多。

标签: javascript regex email-validation


【解决方案1】:

要真正彻底,您可以从 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>

【讨论】:

    猜你喜欢
    • 2017-07-13
    • 2011-08-20
    • 2013-02-09
    • 2011-07-01
    • 1970-01-01
    • 2017-06-07
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多