1

入力が数字であることを try/catch を使用して検証する方法を見つけましたが、ユーザー入力がアルファベットのみであり、数字が含まれていないことを検証するにはどうすればよいですか?

4

3 に答える 3

3

簡単な正規表現を使用できます。

if (str.matches("[a-zA-Z]+$")) {
   // str consists entirely of letters
}

これは文字A-Zとでのみ機能することに注意してくださいa-z。Unicode を適切にサポートする必要がある場合は、文字列の文字をループしてCharacter.isLetter().

于 2011-10-29T15:54:34.097 に答える
2
public static boolean containsNumbers(String str){
    for(char ch : str.toCharArray()){
        if(Character.isDigit(ch)){
            return true;
        }
    }
    return false;
}
于 2011-10-29T15:56:40.680 に答える
1

1 つの方法は、正規表現を使用することです。

private static Pattern p = Pattern.compile("^[A-Za-z]+$");

public static boolean match(String s) {
    return p.matcher(s).matches();
}

もう 1 つの方法は、文字列内のすべての文字を反復処理して、それらがアルファベット順かどうかを確認することです。

于 2011-10-29T15:54:26.133 に答える