【发布时间】:2014-03-02 11:34:52
【问题描述】:
我正在尝试创建一个正则表达式来检查是否输入了有效的电子邮件地址。我的正则表达式有问题。这是我正在使用的源代码:
if (!Pattern.matches("^[\\w-\\+]+(\\.[\\w]+)*@[\\w-]+(\\.[\\w]+)*(\\.[a-z]{2,})$", s)) {
et.setError("Enter a valid Email Address");
}
我做错了什么?
【问题讨论】:
-
您应该对正则表达式进行的唯一真正验证是检查“@”。关于这个话题已经有十亿个问题了......你不应该把这个问题复杂化的一个非常正当的理由。
-
@tenub 除了 Android 有一系列内置模式可供使用之外,您为什么只在电子邮件验证正则表达式中检查
@? -
我做错了什么?直言不讳...使用正则表达式验证电子邮件地址。 It's ugly, unmanageable, and difficult to spot errors in.咬紧牙关,做更深入的字符串解析和分析,看看邮件是否真的有效。
-
using regex to validate an email address嗯,这正是android.util.Patterns.EMAIL_ADDRESSworks。