java.lang.Object
com.networknt.org.apache.commons.validator.routines.EmailValidator
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
IPv6AwareEmailValidator

public class EmailValidator extends Object implements Serializable

Perform email validations.

Based on a script by Sandeep V. Tamhankar https://javascript.internet.com

This implementation is not guaranteed to catch all possible errors in an email address.

.
Since:
1.4
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • SPECIAL_CHARS

      private static final String SPECIAL_CHARS
      See Also:
    • VALID_CHARS

      private static final String VALID_CHARS
      See Also:
    • QUOTED_USER

      private static final String QUOTED_USER
      See Also:
    • WORD

      private static final String WORD
      See Also:
    • EMAIL_REGEX

      private static final String EMAIL_REGEX
      See Also:
    • IP_DOMAIN_REGEX

      private static final String IP_DOMAIN_REGEX
      See Also:
    • USER_REGEX

      private static final String USER_REGEX
      See Also:
    • EMAIL_PATTERN

      private static final Pattern EMAIL_PATTERN
    • IP_DOMAIN_PATTERN

      private static final Pattern IP_DOMAIN_PATTERN
    • USER_PATTERN

      private static final Pattern USER_PATTERN
    • MAX_USERNAME_LEN

      private static final int MAX_USERNAME_LEN
      See Also:
    • EMAIL_VALIDATOR

      private static final EmailValidator EMAIL_VALIDATOR
      Singleton instance of this class, which doesn't consider local addresses as valid.
    • EMAIL_VALIDATOR_WITH_TLD

      private static final EmailValidator EMAIL_VALIDATOR_WITH_TLD
      Singleton instance of this class, which doesn't consider local addresses as valid.
    • EMAIL_VALIDATOR_WITH_LOCAL

      private static final EmailValidator EMAIL_VALIDATOR_WITH_LOCAL
      Singleton instance of this class, which does consider local addresses valid.
    • EMAIL_VALIDATOR_WITH_LOCAL_WITH_TLD

      private static final EmailValidator EMAIL_VALIDATOR_WITH_LOCAL_WITH_TLD
      Singleton instance of this class, which does consider local addresses valid.
    • allowTld

      private final boolean allowTld
    • domainValidator

      private final DomainValidator domainValidator
  • Constructor Details

    • EmailValidator

      protected EmailValidator(boolean allowLocal)
      Protected constructor for subclasses to use.
      Parameters:
      allowLocal - Should local addresses be considered valid?
    • EmailValidator

      protected EmailValidator(boolean allowLocal, boolean allowTld)
      Protected constructor for subclasses to use.
      Parameters:
      allowLocal - Should local addresses be considered valid?
      allowTld - Should TLDs be allowed?
    • EmailValidator

      public EmailValidator(boolean allowLocal, boolean allowTld, DomainValidator domainValidator)
      constructor for creating instances with the specified domainValidator
      Parameters:
      allowLocal - Should local addresses be considered valid?
      allowTld - Should TLDs be allowed?
      domainValidator - allow override of the DomainValidator. The instance must have the same allowLocal setting.
      Since:
      1.7
  • Method Details

    • getInstance

      public static EmailValidator getInstance()
      Returns the Singleton instance of this validator.
      Returns:
      singleton instance of this validator.
    • getInstance

      public static EmailValidator getInstance(boolean allowLocal)
      Returns the Singleton instance of this validator, with local validation as required.
      Parameters:
      allowLocal - Should local addresses be considered valid?
      Returns:
      singleton instance of this validator
    • getInstance

      public static EmailValidator getInstance(boolean allowLocal, boolean allowTld)
      Returns the Singleton instance of this validator, with local validation as required.
      Parameters:
      allowLocal - Should local addresses be considered valid?
      allowTld - Should TLDs be allowed?
      Returns:
      singleton instance of this validator
    • isValid

      public boolean isValid(String email)

      Checks if a field has a valid e-mail address.

      Parameters:
      email - The value validation is being performed on. A null value is considered invalid.
      Returns:
      true if the email address is valid.
    • isValidDomain

      protected boolean isValidDomain(String domain)
      Returns true if the domain component of an email address is valid.
      Parameters:
      domain - being validated, may be in IDN format
      Returns:
      true if the email address's domain is valid.
    • isValidUser

      protected boolean isValidUser(String user)
      Returns true if the user component of an email address is valid.
      Parameters:
      user - being validated
      Returns:
      true if the user name is valid.