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);
