2011-10-29 45 views
1

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

答えて

3

あなたが単純な正規表現を使用することができます。 Unicodeを正しくサポートする必要がある場合は、文字列の文字をループし、Character.isLetter()を使用するのがより良い方法です。

+0

ただ必要なもの。ありがとうございました。 – user1015523

+0

これ以上のupvotesが必要です –

1

正規表現を使用する方法もあります。

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

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

もう一つの方法は、あなたの文字列内のすべての文字を反復処理し、それらがアルファベットかそうでないかどうかを確認することができます。これは文字だけA-Za-zで動作することを

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

注:

2
public static boolean containsNumbers(String str){ 
    for(char ch : str.toCharArray()){ 
     if(Character.isDigit(ch)){ 
      return true; 
     } 
    } 
    return false; 
} 
関連する問題