【发布时间】:2015-10-15 04:10:25
【问题描述】:
我需要为密码字段设置错误,条件是“只允许 2~22 个字符和符号,_ - ”。
但我有点卡在这里。
这是我目前得到的:
if(
!(editText.length() >= 2 && editText.length() <= 22 ) ||
!(editText.contains("-") || editText.contains("_") || editText.contains(","))
) {
//set error message
}
但问题是,如果我输入除 、_ 或 - 以外的符号,错误消息仍然不显示。对于输入长度,错误消息会按原样显示。
【问题讨论】:
-
查看字符串匹配方法:stackoverflow.com/a/14278602/792238
-
你试过正则表达式吗?
-
刚刚试过这个 editText.matches("^[a-zA-Z\-,_]{2,22}$") 但它显示非法字符...
标签: java if-statement