Untitled

mail@pastecode.io avatarunknown
plain_text
a month ago
1.2 kB
1
Indexable
Never
import java.util.Scanner;

public class EmailValidator {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter an email address: ");
        String email = scanner.nextLine();
        
        if (validateEmail(email)) {
            System.out.println("Email address is valid.");
        } else {
            System.out.println("Email address is invalid.");
        }
        
        scanner.close();
    }

    public static boolean validateEmail(String email) {
        // Check for exactly one "@" symbol
        if (email.chars().filter(ch -> ch == '@').count() != 1) {
            return false;
        }

        String[] parts = email.split("@");
        String localPart = parts[0];
        String domainPart = parts[1];

        // Check local part
        if (!localPart.matches("[a-zA-Z0-9._]+")) {
            return false;
        }

        // Check domain part
        if (!domainPart.matches("[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)+")) {
            return false;
        }

        // Check for dot at the beginning or end
        if (email.startsWith(".") || email.endsWith(".")) {
            return false;
        }

        return true;
    }
}