</>

Technology

Java Programs

Difficulty

Intermediate

Interview Question

Write a Java program to check if a string contains only digits, only alphabets, or is alphanumeric.

Answer

String Validation — Digits, Alphabets, Alphanumeric

Java
public class StringValidation {
    public static void main(String[] args) {

        String s1 = "12345";
        String s2 = "HelloWorld";
        String s3 = "Hello123";
        String s4 = "Hello@123";

        System.out.println("--- Checking: " + s1 + " ---");
        System.out.println("Only digits:     " + isOnlyDigits(s1));    // true
        System.out.println("Only alphabets:  " + isOnlyAlpha(s1));     // false
        System.out.println("Alphanumeric:    " + isAlphanumeric(s1));  // true

        System.out.println("\n--- Checking: " + s2 + " ---");
        System.out.println("Only digits:     " + isOnlyDigits(s2));    // false
        System.out.println("Only alphabets:  " + isOnlyAlpha(s2));     // true
        System.out.println("Alphanumeric:    " + isAlphanumeric(s2));  // true

        System.out.println("\n--- Checking: " + s4 + " ---");
        System.out.println("Only digits:     " + isOnlyDigits(s4));    // false
        System.out.println("Only alphabets:  " + isOnlyAlpha(s4));     // false
        System.out.println("Alphanumeric:    " + isAlphanumeric(s4));  // false
    }

    static boolean isOnlyDigits(String s) {
        return s.matches("\\d+");                  // one or more digits
    }

    static boolean isOnlyAlpha(String s) {
        return s.matches("[a-zA-Z]+");             // one or more letters
    }

    static boolean isAlphanumeric(String s) {
        return s.matches("[a-zA-Z0-9]+");          // letters and digits only
    }
}

Method 2: Character Class Methods (No Regex)

Java
public static boolean isDigitsOnly(String s) {
    for (char c : s.toCharArray()) {
        if (!Character.isDigit(c)) return false;
    }
    return !s.isEmpty();
}

public static boolean isAlphabetsOnly(String s) {
    for (char c : s.toCharArray()) {
        if (!Character.isLetter(c)) return false;
    }
    return !s.isEmpty();
}

public static boolean isAlphanumericOnly(String s) {
    for (char c : s.toCharArray()) {
        if (!Character.isLetterOrDigit(c)) return false;
    }
    return !s.isEmpty();
}

Method 3: Java 8 Streams

Java
String s = "Hello123";

boolean allDigits = s.chars().allMatch(Character::isDigit);
boolean allLetters = s.chars().allMatch(Character::isLetter);
boolean allAlphanumeric = s.chars().allMatch(Character::isLetterOrDigit);
boolean hasUpperCase = s.chars().anyMatch(Character::isUpperCase);
boolean hasLowerCase = s.chars().anyMatch(Character::isLowerCase);
boolean hasDigit = s.chars().anyMatch(Character::isDigit);
boolean hasSpecial = s.chars().anyMatch(c -> !Character.isLetterOrDigit(c));

Common Regex Patterns for Validation

Java
// Email validation
boolean isEmail = email.matches("^[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,}$");

// Phone number (10 digits)
boolean isPhone = phone.matches("\\d{10}");

// Strong password (min 8 chars, upper, lower, digit, special)
boolean strongPass = pass.matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)(?=.*[@#$]).{8,}$");

// Only spaces
boolean onlySpaces = s.matches("\\s+");

// No special characters
boolean noSpecial = s.matches("[a-zA-Z0-9 ]+");

Automation Testing Relevance

Java
// Validate form field accepts only numbers
String ageInput = driver.findElement(By.id("age")).getAttribute("value");
assertTrue(ageInput.matches("\\d+"), "Age field should contain only digits");

// Validate email format
String email = driver.findElement(By.id("email")).getAttribute("value");
assertTrue(email.matches("^[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,}$"),
    "Email format invalid: " + email);

Follow AutomateQA