我正在尝试设置用户需要输入的特定数字(pNumber)的要求。 pNumber 应由 2 个字母组成,然后是 6 个字母或数字,最后是一个数字。
我已经实现了我在 stackoverflow 上找到的一个方法,但是当我输入一个像“LL^&%JJk9”这样的数字时,它仍然给我一个积极的结果? 据我了解 .matches 检查字符串是否仅包含给定值?
String First = pNumber.substring(0, 2);
String Middle = pNumber.substring(2, 8);
String Last = pNumber.substring(8, 9);
if (First.matches(".*[a-zA-Z].*") && Middle.matches(".*[a-zA-Z0-9].*") && Last.matches(".*[0-9].*")) {
greenOk.setVisibility(View.VISIBLE);
nextBtn.setEnabled(true);
} else {
redCross.setVisibility(View.VISIBLE);
}
最佳答案
您可以使用Apache Commons Lang为了那个原因。那里有类似 isNumeric 的方法和 isAlphanumeric
或者使用像Character isDigit这样的方法
关于java - 如何正确检查字符串是否仅包含数字或字母?安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34791777/