我已经找到了如何使用try / catch验证输入是一个数字但是如何验证用户输入是否仅按字母顺序且不包含数字?
答案 0 :(得分:3)
您可以使用简单的正则表达式:
if (str.matches("[a-zA-Z]+$")) {
// str consists entirely of letters
}
请注意,这仅适用于字母A-Z
和a-z
。如果您需要正确支持Unicode,更好的方法是循环遍历字符串的字符并使用Character.isLetter()
。
答案 1 :(得分:2)
public static boolean containsNumbers(String str){
for(char ch : str.toCharArray()){
if(Character.isDigit(ch)){
return true;
}
}
return false;
}
答案 2 :(得分:1)
一种方法是使用正则表达式。
private static Pattern p = Pattern.compile("^[A-Za-z]+$");
public static boolean match(String s) {
return p.matcher(s).matches();
}
另一种方法是遍历字符串中的所有字符并检查它们是否按字母顺序排列。