删除电子邮件地址中的无效字符

TP_*_*AVA 2 java regex string email

我正在尝试找出如何删除电子邮件地址中的所有无效字符.

例如:email ="taeo͝'; st@yy.com"(.是电子邮件字符),结果应为:email ="taest@yy.com"

我使用以下电子邮件模式:

String email_pattern = "^[^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$]";

String modifiedEmail = email.replaceAll(email_pattern,"");
Run Code Online (Sandbox Code Playgroud)

但上面的代码给出了结果:email ="aest@yy.com",但预计"taest@yy.com"

任何建议或更好的方法将不胜感激.

Hul*_*luk 11

这是一篇很好的博客文章,说明为什么你不应该过滤你的电子邮件地址:http: //davidcel.is/blog/2012/09/06/stop-validating-email-addresses-with-regex/

TL; DR:检查是否有@(可选的句号)并发送测试邮件.
大卫建议使用这个正则表达式:

/.+@.+\..+/
Run Code Online (Sandbox Code Playgroud)