org.apache.commons.validator
Class EmailValidator

java.lang.Object
  extended by org.apache.commons.validator.EmailValidator

public class EmailValidator
extends java.lang.Object

Perform email validations.

This class is a Singleton; you can retrieve the instance via the getInstance() method.

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

This implementation is not guaranteed to catch all possible errors in an email address. For example, an address like nobody@noplace.somedog will pass validator, even though there is no TLD "somedog"

.

Since:
Validator 1.1

Field Summary
private static java.lang.String ATOM
           
private static java.lang.String ATOM_PATTERN
           
private static java.lang.String DOMAIN_PATTERN
           
private static java.lang.String EMAIL_PATTERN
           
private static EmailValidator instance
          Singleton instance of this class.
private static java.lang.String IP_DOMAIN_PATTERN
           
private static java.lang.String LEGAL_ASCII_PATTERN
           
private static java.lang.String QUOTED_USER
           
private static java.lang.String SPECIAL_CHARS
           
private static java.lang.String TLD_PATTERN
           
private static java.lang.String USER_PATTERN
           
private static java.lang.String VALID_CHARS
           
private static java.lang.String WORD
           
 
Constructor Summary
protected EmailValidator()
          Protected constructor for subclasses to use.
 
Method Summary
static EmailValidator getInstance()
          Returns the Singleton instance of this validator.
 boolean isValid(java.lang.String email)
          Checks if a field has a valid e-mail address.
protected  boolean isValidDomain(java.lang.String domain)
          Returns true if the domain component of an email address is valid.
protected  boolean isValidIpAddress(Perl5Util ipAddressMatcher)
          Validates an IP address.
protected  boolean isValidSymbolicDomain(java.lang.String domain)
          Validates a symbolic domain name.
protected  boolean isValidUser(java.lang.String user)
          Returns true if the user component of an email address is valid.
protected  java.lang.String stripComments(java.lang.String emailStr)
          Recursively remove comments, and replace with a single space.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SPECIAL_CHARS

private static final java.lang.String SPECIAL_CHARS
See Also:
Constant Field Values

VALID_CHARS

private static final java.lang.String VALID_CHARS
See Also:
Constant Field Values

QUOTED_USER

private static final java.lang.String QUOTED_USER
See Also:
Constant Field Values

ATOM

private static final java.lang.String ATOM
See Also:
Constant Field Values

WORD

private static final java.lang.String WORD
See Also:
Constant Field Values

LEGAL_ASCII_PATTERN

private static final java.lang.String LEGAL_ASCII_PATTERN
See Also:
Constant Field Values

EMAIL_PATTERN

private static final java.lang.String EMAIL_PATTERN
See Also:
Constant Field Values

IP_DOMAIN_PATTERN

private static final java.lang.String IP_DOMAIN_PATTERN
See Also:
Constant Field Values

TLD_PATTERN

private static final java.lang.String TLD_PATTERN
See Also:
Constant Field Values

USER_PATTERN

private static final java.lang.String USER_PATTERN
See Also:
Constant Field Values

DOMAIN_PATTERN

private static final java.lang.String DOMAIN_PATTERN
See Also:
Constant Field Values

ATOM_PATTERN

private static final java.lang.String ATOM_PATTERN
See Also:
Constant Field Values

instance

private static final EmailValidator instance
Singleton instance of this class.

Constructor Detail

EmailValidator

protected EmailValidator()
Protected constructor for subclasses to use.

Method Detail

getInstance

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

Returns:
singleton instance of this validator.

isValid

public boolean isValid(java.lang.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(java.lang.String domain)
Returns true if the domain component of an email address is valid.

Parameters:
domain - being validatied.
Returns:
true if the email address's domain is valid.

isValidUser

protected boolean isValidUser(java.lang.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.

isValidIpAddress

protected boolean isValidIpAddress(Perl5Util ipAddressMatcher)
Validates an IP address. Returns true if valid.

Parameters:
ipAddressMatcher - Pattren matcher
Returns:
true if the ip address is valid.

isValidSymbolicDomain

protected boolean isValidSymbolicDomain(java.lang.String domain)
Validates a symbolic domain name. Returns true if it's valid.

Parameters:
domain - symbolic domain name
Returns:
true if the symbolic domain name is valid.

stripComments

protected java.lang.String stripComments(java.lang.String emailStr)
Recursively remove comments, and replace with a single space. The simpler regexps in the Email Addressing FAQ are imperfect - they will miss escaped chars in atoms, for example. Derived From Mail::RFC822::Address

Parameters:
emailStr - The email address
Returns:
address with comments removed.


Copyright (c) 2001-2004 Apache Software Foundation