【发布时间】:2011-12-17 21:39:24
【问题描述】:
我找到了如何使用 try/catch 验证输入是否为数字,但如何验证用户输入仅按字母顺序排列且不包含数字?
【问题讨论】:
标签: java input numbers validation alphabetical
我找到了如何使用 try/catch 验证输入是否为数字,但如何验证用户输入仅按字母顺序排列且不包含数字?
【问题讨论】:
标签: java input numbers validation alphabetical
一种方法是使用正则表达式。
private static Pattern p = Pattern.compile("^[A-Za-z]+$");
public static boolean match(String s) {
return p.matcher(s).matches();
}
另一种方法可以遍历字符串中的所有字符并检查它们是否按字母顺序排列。
【讨论】:
你可以使用一个简单的正则表达式:
if (str.matches("[a-zA-Z]+$")) {
// str consists entirely of letters
}
请注意,这只适用于字母 A-Z 和 a-z。如果需要正确支持 Unicode,更好的方法是遍历字符串的字符并使用Character.isLetter()。
【讨论】:
public static boolean containsNumbers(String str){
for(char ch : str.toCharArray()){
if(Character.isDigit(ch)){
return true;
}
}
return false;
}
【讨论】: