Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Validate chuỗi chỉ chứa chữ cái (A-Z, a-z) trong Java

Kiểm tra chuỗi chỉ bao gồm chữ cái tiếng Anh – 2 cách phổ biến: duyệt ký tự hoặc dùng Regular Expression.

Cách 1: Duyệt ký tự (Character.isLetter)


public static boolean isAlphaOnly(String str) {
    if (str == null || str.isEmpty()) return false;
    for (char ch : str.toCharArray()) {
        if (!Character.isLetter(ch)) {
            return false;
        }
    }
    return true;
}

Character.isLetter() hỗ trợ Unicode (chữ có dấu, tiếng Nhật, tiếng Ả Rập...). Nếu chỉ muốn A-Z/a-z, dùng ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z'.

Cách 2: Regular Expression (khuyên dùng)


public static boolean isAlphaOnlyRegex(String str) {
    return str != null && str.matches("^[a-zA-Z]+$");
}
// Hoặc hỗ trợ Unicode letter:
return str != null && str.matches("^\\p{L}+$");

Ví dụ tương tác


import java.util.Scanner;

public class ValidateName {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Nhập tên: ");
        String name = sc.nextLine().trim();
        
        if (name.matches("^[a-zA-Z\\s]+$")) { // cho phép khoảng trắng
            System.out.println("✅ Tên hợp lệ");
        } else {
            System.out.println("❌ Tên chỉ được chứa chữ cái và khoảng trắng");
        }
    }
}

Kết quả mẫu


Nhập tên: Nguyễn Văn An
✅ Tên hợp lệ

Nhập tên: An123
❌ Tên chỉ được chứa chữ cái và khoảng trắng

Regex pattern phổ biến

Yêu cầuRegex
Chỉ A-Z, a-z^[a-zA-Z]+$
Chữ cái + khoảng trắng^[a-zA-Z\\s]+$
Chữ cái Unicode (có dấu)^\\p{L}+$
Cho phép gạch nối (O'Connor)^[a-zA-Z\\-']+$