许多人并不知道,电子邮件地址需要使用库进行解析。简单的正则表达式,例如
@(.*),是不够的。 电子邮件地址甚至可以包含注释,这些注释可以包含像@这样的字符,从而破坏了简单的正则表达式。
有一个 Node.js库 可以解析RFC 2822地址:
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
部分,而它没有提供相应的方法。
我很惊讶找不到解决这个问题的常见库,但估计很多人都遇到了这个问题。如何使用库或其他方式解决这个问题?
lastIndexOf("@")
后解析电子邮件地址。 - Sotirios Delimanolis