当前位置: 首页 > 知识库问答 >
问题:

如何编写这种情况下的if条件?

方宏富
2023-03-14

我需要为密码字段设置一个错误,条件是“只允许2到22个字符和符号,\-”

但是我有点困在这里了。

这是我到目前为止得到的:

if(
  !(editText.length() >= 2 && editText.length() <= 22 ) ||
    !(editText.contains("-") || editText.contains("_") || editText.contains(","))
  ) {
  //set error message
}

但问题是,如果我输入了_或-以外的符号,错误消息仍然不会显示。对于输入长度,错误消息显示为它应该显示的样子。

共有3个答案

司寇高峯
2023-03-14

您的逻辑有问题,请使用

if(!((editText.length() >= 2 && editText.length() <= 22 ) && (editText.contains("-") || editText.contains("_") || editText.contains(","))))
潘飞英
2023-03-14

您的| |或连字符、下划线和逗号命令使用户必须至少包含其中一个字符。

您也没有检查有效字符列表。A-Z?0-9?a-z?您需要查看java包。util。regex打包或迭代字符串并检查每个字符。

姜景辉
2023-03-14

在java中,使用:

editText.matches("^[A-Za-z,_\\-]{2,22}$");
 类似资料:
  • 我知道这不是定义汽车类的最佳方式,但我很好奇,最后我写了这个: 及其存储库 现在,考虑到我想创建一个存储库方法来查找满足给定附件列表的所有汽车,我该怎么做?我在考虑一种类似之类的方法。顺便说一句,如果你想回答“附件”是一个实体的问题,请放心。 免责声明:是的,我尝试了方法

  • 这是我的建筑。格雷德尔: 我试图找出问题所在,使用以下代码来分析问题: 结果是:

  • 我在使用fs.readfile进行同步时遇到了一个问题,他们没有在第一次初始化,如果我再次尝试请求,那么我就有结果了。我知道我可以用promise和我从Kriskowal找到一些有用的东西。我试过但没有成功。我不太明白如何实施它。如果有人能帮忙,我将永远感激。 代码:

  • 事件处理程序添加到GameGui.java类的GridPane中,从第82行开始。 基本上,我试图找到您在网格窗格中拖动这个对象的任何节点的索引。通过将SetonMouseEnter应用到gridpane中的每个节点,我可以在不拖动的情况下完成这一任务,但是当我试图利用SetonMouseDragEnter时,我什么也没有得到。 有人有办法让这个工作吗? 这些是我应用于GridPane中节点的事件

  • 在这种情况下是否可以避免ArrayIndexOutOfBoundsException??

  • 问题内容: 我是T-SQL命令的新手,所以我在SQL逻辑中找到了一个可以使用它并想要对其进行测试的地方,但无法弄清楚我应该如何使用它: 请提出正确的用法。谢谢! 问题答案: 您在帮助中了吗?这是一个简单的例子: