在EditText中验证名称

时间:2013-10-21 08:36:19

标签: android android-edittext

在我的应用程序中,我有字段名称。如果字段包含数字或。,?...字符,但是当我输入usman(空格)shafi时,它会产生错误。我的陈述将空格视为两个单词之间的无效字符。请任何人都可以告诉我如何使它工作。感谢

这是代码

   if(!Pattern.matches("[a-zA-Z]+", textname.getText().toString().trim())){

         textname.setError("Invalid Characters");

     }
    // if(!Pattern.matches("[a-zA-Z]+", textkin.getText().toString().trim())){

  //     textkin.setError("Invalid Characters");

    // }");

3 个答案:

答案 0 :(得分:2)

将空格添加到正则表达式:

    if(!Pattern.matches("[a-zA-Z ]+", textname.getText().toString().trim())){

         textname.setError("Invalid Characters");

     }

答案 1 :(得分:0)

如果它只是一个白色空间,你可以尝试这样的事情:

text = textname.getText().toString().trim();
string[] txtSplt = text.split(" ");

text = "";
foreach (string s : txtSplt)
{
    text += s;
}

然后您可以继续检查条件而不更改正则表达式。

答案 2 :(得分:0)

通过这种方式做到这一点。你的问题将得到解决。

    String regex = "([A-Z a-z]+)";
    Pattern pattern1 = Pattern.compile(regex);
    Matcher matcher1 = pattern1.matcher(textname.getText().toString());

    if(!matcher1.matches()){
          textname.setError("Invalid Characters");
    }