在我的应用程序中,我有字段名称。如果字段包含数字或。,?...字符,但是当我输入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");
// }");
答案 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");
}