如何从"XXX <email@email.com>"
获取电子邮件地址?我不想得到“&lt;&gt;”。
谢谢!
答案 0 :(得分:4)
这是基于Tejs答案的一个。简单易懂,我觉得更优雅
// Split on < or >
var parts = "XXX <email@email.com>".split(/[<>]/);
var name = parts[0], email = parts[1];
答案 1 :(得分:3)
非常简单(不需要正则表达式!)
var components = emailAddress.split('<')
if(components.length > 1)
{
var emailAddress = components[1].replace('>', '');
}
答案 2 :(得分:3)
function getEmailsFromString(input) {
var ret = [];
var email = /\"([^\"]+)\"\s+\<([^\>]+)\>/g;
var match;
while ( match = email.exec(input) ) {
ret.push({'name': match[1], 'email': match[2]});
}
return ret;
}
var str = '"Name one" <foo@domain.com>, ..., "And so on" <andsoon@gmx.net>';
var emails = getEmailsFromString(str);
信用:How to find out emails and names out of a string in javascript
答案 3 :(得分:1)
此正则表达式适用于您的示例。
/<([^>]+)/
它在'&lt;'之后搜索任何内容这不是'&gt;'并在你的比赛中返回。
答案 4 :(得分:0)
^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$
匹配电子邮件地址,包括一些较新的顶级域名扩展名,例如信息,博物馆,名称等。还允许直接绑定到IP地址的电子邮件。
答案 5 :(得分:0)
如果我正确理解你,那就不是积极的。如果你想获得电子邮件域即gmail.com或hotmail.com,那么你可以使用
var x =string.indexOf("@"); var y =string.subString(x)
这将为您提供字符串y作为电子邮件域。
答案 6 :(得分:0)
要抓住尖括号内的内容,您可以使用以下内容:
var pattern = /<(.*)>/;
pattern.exec("XXX <foo@bar.com>"); // this returns ["<foo@bar.com>", "foo@bar.com"]