java - 如何正确检查字符串是否仅包含数字或字母?安卓

标签 java android string match

我正在尝试设置用户需要输入的特定数字(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/

相关文章:

java - 如何在Primefaces数据表中显示Hibernate查询结果?

java - 为什么我的 ListView 中的项目不可点击?

android - 约束布局需要澄清

r - 如何匹配R中两列之间的字符串?

java - 在 Linux 上找不到字体名称

java - Android从url写入json文件

java - android应用程序会收到有关系统区域设置更改的消息吗?

c++ - += 与 C++ 中的字符串

php - 在没有 Eval 的情况下在字符串中执行 PHP 代码

java - 我的 Mandelbrot 集没有生成。我的等式有什么问题吗?