Email Validator

Validate email addresses with RFC 5322 compliance and domain checking

java (17) 2025-11-12 email validation regex network

Description

A comprehensive email validation utility that checks email format, domain validity, and optionally performs DNS lookups.

Features

  • RFC 5322 compliant validation
  • Domain existence checking
  • Disposable email detection
  • Custom validation rules

Code

RAW
import java.util.regex.Pattern;import java.util.regex.Matcher;public class EmailValidator {    private static final Pattern EMAIL_PATTERN = Pattern.compile(        "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@" +        "(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}$"    );        private static final String[] DISPOSABLE_DOMAINS = {        "tempmail.com", "10minutemail.com", "guerrillamail.com"    };        public static boolean isValid(String email) {        if (email == null || email.isEmpty()) {            return false;        }                Matcher matcher = EMAIL_PATTERN.matcher(email);        if (!matcher.matches()) {            return false;        }                String[] parts = email.split("@");        if (parts.length != 2) {            return false;        }                String domain = parts[1].toLowerCase();                if (domain.length() < 4) {            return false;        }                if (!domain.contains(".")) {            return false;        }                return true;    }        public static boolean isDisposable(String email) {        if (!isValid(email)) {            return false;        }                String domain = email.split("@")[1].toLowerCase();        for (String disposable : DISPOSABLE_DOMAINS) {            if (domain.equals(disposable)) {                return true;            }        }        return false;    }        public static String normalize(String email) {        if (email == null) {            return null;        }        return email.trim().toLowerCase();    }}
RAW
import static EmailValidator.*;public class Example {    public static void main(String[] args) {        String email = "[email protected]";                System.out.println("Email: " + email);        System.out.println("Valid: " + isValid(email));        System.out.println("Disposable: " + isDisposable(email));        System.out.println("Normalized: " + normalize(email));    }}

Comments

No comments yet. Be the first to comment!