例如:
var s = "'Jim,Rose'<jim@l.com>, 'John'<john@p.com>, 'jack@k.com'<jack@k.com>"
最佳答案
首先,我假设您在该字符串周围加了双引号:
var s = "'Jim,Rose'<jim@l.com>, 'John'<john@p.com>, 'jack@k.com'<jack@k.com>";
然后使用下面的正则表达式进行匹配:
var emails = s.match(/<.*?>/g);
产生这个数组:
["<jim@l.com>", "<john@p.com>", "<jack@k.com>"]
通过一些技巧,您可以去掉 <
和 >
还有:
emails = s.match(/<.*?>/g).join(',').replace(/<|>/g, '').split(',');
如果您实际上想要“显示名称”,您可以执行非常相似的操作:
var names = s.match(/'.*?'/g);
哪个会生成这个数组:
["'Jim,Rose'", "'John'", "'jack@k.com'"]
关于javascript - 使用 javascript,我如何拆分显示名称中有逗号或 "@"的电子邮件 ID 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4933034/