在Android中检查字符串的长度

rmbxnbpk  于 2022-11-20  发布在  Android
关注(0)|答案(3)|浏览(394)

我想检查输入的字符串长度是否在3到8个字符之间。以前我使用if condition,它工作。但是当我从字符串中引入一些子字符串时,其中一个if statements不工作。有人能帮助我理解为什么吗?谢谢。
我的密码是
工作代码:

text = et.getText().toString();
    l = text.length();
    a = text.substring(0, 1);
    if (l >=9) tv.setText("Invalid length!!! Please check your code");
    if (l <= 2) tv.setText("Invalid length! Please check your code");

而这里,第二个if statement doesnt作品。

text = et.getText().toString();
l = text.length();
a = text.substring(0, 1);
c = text.substring(1, 2);
d = text.substring(3, 4);
e = text.substring(4);
if (l >=9) tv.setText("Invalid length!!! Please check your code");
if (l <= 2) tv.setText("Invalid length! Please check your code");
6bc51xsx

6bc51xsx1#

您将需要确保处理空字符串,并确保字符串在所需的限制范围内。请考虑:

text = et.getText().toString();
if (text == null || text.length() < 3 || text.length > 8) {
    tv.setText("Invalid length, should be from 3 to 8 characters. Please check your code");
} else {
    a = text.substring(0,1);
    b = text.substring(1,2);

    c = text.substring(3,4);
    if (text.length() > 3) {
      d = text.substring(4);
    } else {
         d = null;
    }
}
lhcgjxsq

lhcgjxsq2#

在创建子字符串之前,需要检查长度,因为如果长度太短,子字符串索引将无效。

text = et.getText().toString();
l = text.length();
if (l >= 9 || l <= 2) {
    tv.setText("Invalid length!!! Please check your code");
} else {
    a = text.substring(0, 1);
    c = text.substring(1, 2);
    d = text.substring(3, 4);
    e = text.substring(4);
}
fhg3lkii

fhg3lkii3#

您可以这样使用:

编辑文本。获取文本()。转换为字符串()。长度()〈3

EditText etmobile_no;

if (etmobile_no.getText().toString("") || 
etmobile_no.getText().toString().length() <3 ||
 etmobile_no.getText().toString().length() >8)

{
    tv.setText("Invalid length, should be from 3 to 8 characters. Please check your code");
}

相关问题