android.util.Patterns.EMAIL_ADDRESS 正在验证无效电子邮件
android.util.Patterns.EMAIL_ADDRESS is validating invalid emails
这些是无效的电子邮件。
email@domain.web
.email@domain.com
我在以下网站查看了上述邮件,所有这些returns无效。
http://isemail.info/about
http://sqa.fyicenter.com/Online_Test_Tools/Email_Address_Format_Validator.php.
然而,android.util.Patterns.EMAIL_ADDRESS
模式验证了两者。
是否有错误或我遗漏了什么?
使用正则表达式匹配下面的模式。
String EMAIL_PATTERN = "^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$"
private Matcher matcher;
private Pattern pattern = Pattern.compile(EMAIL_PATTERN);
public boolean validateEmail(final String hex) {
matcher = pattern.matcher(hex);
return matcher.matches();
}
希望对您有所帮助。
请检查您是否使用了正确的条件意味着您使用了相同的 if 条件。因为有时我们反之亦然。
我知道您使用的是相同的东西,但请检查此方法。我相信它会对你有所帮助。
/* 如果电子邮件有效,则 returns true 否则 return false */
@SuppressLint("DefaultLocale")
public boolean checkForEmail(EditText edit, String editName) {
String str = edit.getText().toString();
if (android.util.Patterns.EMAIL_ADDRESS.matcher(str).matches()) {
return true;
}
toastMsg(_context.getString(R.string.please_enter_valid).toString()+" "+editName+ " "
);
return false;
}
两个似乎都是有效的电子邮件地址
email@domain.web
.email@domain.com
因为任何电子邮件地址都包含三个组成部分
<username>@<mail-server>.<mail-servertype or server-location>
这里 android.util.Patterns.EMAIL_ADDRESS
使用正则表达式验证所有三个组件,并检查所有三个组件是否放置正确。一些常见的令人困惑的例子是:
com@web123.com
是有效的邮件地址,因为 com
可以是用户名,web123
可以是网络服务器的名称。
.maths.apple@com.in
也是一个有效的邮件地址,因为 .maths.apple
可以是用户名,com
可以是网络服务器的名称。
大小写无效:
crick@.web.com
无效,因为 .
不能出现在 @
之前或之后。任何邮件系统都无法识别用户名或邮件服务器名称。
嗯,最简单的方法是使用 java Class InternetAddress 而不是 Android。实用程序...或正则表达式
这些是无效的电子邮件。
email@domain.web
.email@domain.com
我在以下网站查看了上述邮件,所有这些returns无效。 http://isemail.info/about http://sqa.fyicenter.com/Online_Test_Tools/Email_Address_Format_Validator.php.
然而,android.util.Patterns.EMAIL_ADDRESS
模式验证了两者。
是否有错误或我遗漏了什么?
使用正则表达式匹配下面的模式。
String EMAIL_PATTERN = "^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$"
private Matcher matcher;
private Pattern pattern = Pattern.compile(EMAIL_PATTERN);
public boolean validateEmail(final String hex) {
matcher = pattern.matcher(hex);
return matcher.matches();
}
希望对您有所帮助。
请检查您是否使用了正确的条件意味着您使用了相同的 if 条件。因为有时我们反之亦然。 我知道您使用的是相同的东西,但请检查此方法。我相信它会对你有所帮助。
/* 如果电子邮件有效,则 returns true 否则 return false */
@SuppressLint("DefaultLocale")
public boolean checkForEmail(EditText edit, String editName) {
String str = edit.getText().toString();
if (android.util.Patterns.EMAIL_ADDRESS.matcher(str).matches()) {
return true;
}
toastMsg(_context.getString(R.string.please_enter_valid).toString()+" "+editName+ " "
);
return false;
}
两个似乎都是有效的电子邮件地址
email@domain.web
.email@domain.com
因为任何电子邮件地址都包含三个组成部分
<username>@<mail-server>.<mail-servertype or server-location>
这里 android.util.Patterns.EMAIL_ADDRESS
使用正则表达式验证所有三个组件,并检查所有三个组件是否放置正确。一些常见的令人困惑的例子是:
com@web123.com
是有效的邮件地址,因为com
可以是用户名,web123
可以是网络服务器的名称。.maths.apple@com.in
也是一个有效的邮件地址,因为.maths.apple
可以是用户名,com
可以是网络服务器的名称。
大小写无效:
crick@.web.com
无效,因为 .
不能出现在 @
之前或之后。任何邮件系统都无法识别用户名或邮件服务器名称。
嗯,最简单的方法是使用 java Class InternetAddress 而不是 Android。实用程序...或正则表达式