对于不需要的字符的else if语句和edittext的字符长度太短

时间:2011-08-21 02:27:33

标签: java android

我有一个名为edittext的{​​{1}}变量,我希望在if语句中使用。

我希望检查不需要的字符,例如!,@,#,$,%,^,&,*,(,)等。我还想确保edittext中的文本不会少于3个字符。

现在我正在使用getusername来获取edittext中的值,但是如果edittext中的字符与我的异常匹配,我想使用if语句来“成功”。如果不是问题是什么。

有没有这样做?

我当前的代码星号标记了我需要帮助的地方。

getusername.getText().toString()

这显示了我正在努力实现的目标。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用InputFilter来阻止所有不需要的字符。只需调用setFilters并向其传递一个您想要使用的过滤器数组(在本例中为长度为1)。然后你不必担心测试他们是否在那里。要测试输入的长度,可以使用String的length()方法。

答案 1 :(得分:0)

正则表达式。

   if (getusername.getText().toString().matches("[a-zA-Z0-9]{3}")){
      Toast.makeText(this, "Success").show();
   } else {
      Toast.makeText(this,
        "Please select exactly 3 alphanumeric characters only.").show();
   }

可能需要更改正则表达式以符合您的要求