许多人不知道,电子邮件地址需要一个库来解析。简单的正则表达式,如@(.*)
,是不够的。电子邮件地址甚至可以包含评论,其中可以包含诸如@
破坏简单正则表达式之类的字符。
有一个解析 RFC 2822 地址的Node.js 库:
var address = addresses[0];
console.log("Email address: " + address.address);
console.log("Email name: " + address.name());
console.log("Reformatted: " + address.format());
console.log("User part: " + address.user());
console.log("Host part: " + address.host());
这几乎是 perl 模块的直接端口Mail::Address
。
这是我希望在 Java 的InternetAddress
类中存在的东西,但它不会比完整地址进一步分解,它可以包括例如user@gmail.com
. 但是我正在尝试提取该gmail.com
部分,它不包括要执行的方法。
我很惊讶我找不到解决这个问题的通用库,但想必很多人都有这个问题。如何使用图书馆或不使用图书馆来解决这个问题?