如何验证电子邮件地址'特定领域?

时间:2018-05-08 14:17:14

标签: android pattern-matching

我已经看过解决方案here来验证电子邮件地址是否格式正确,但是我想检查一个电子邮件地址是否使用特定域名,例如" @ gmail.com&# 34 ;.我所指的示例通常用于验证电子邮件地址格式:

public final static boolean isValidEmail(CharSequence target) {
  if (TextUtils.isEmpty(target)) {
    return false;
  } else {
    return android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
  }
}

4 个答案:

答案 0 :(得分:1)

您可以使用endsWith并使用@gmail.com,如:

"test@gmail.com".endsWith("@gmail.com")

或使用像^\S+@gmail\.com$

这样的正则表达式

<强>详情

  • ^在行首处断言位置
  • \S+匹配任何非空白字符一次或多次
  • @gmail\.com匹配@gmail.com
  • $断言行尾的位置

例如

if ("test@gmail.com".matches("^\\S+@gmail\\.com$")) {
    System.out.println("Match!");
}

Demo Java

答案 1 :(得分:0)

你可以使用正则表达式。

Pattern p = Pattern.compile(".*@gmail\.com");
Matcher m = p.matcher("hello@gmail.com");
boolean b = m.matches();

答案 2 :(得分:0)

最简单的解决方案是检查电子邮件是否包含指定的域。稍后您可以添加正则表达式甚至字典来存储不同的域,而不是为每个域使用一种方法。

MyNewDatePicker.prototype._createPopupContent = function() {
    DatePicker.prototype._createPopupContent.call(this);
    ...
    this._oCalendar.setFirstDayOfWeek(1);
};

答案 3 :(得分:0)

您可以使用正则表达式。 您可以检查正则表达式https://www.regextester.com/94044

^ [a-zA-Z0-9 _。+-] + @(?:(?:[a-zA-Z0-9-] +。)?[a-zA-Z] +。)?( domain.in | domain2.com)