所以我有这个方法,如果验证是正确的,则返回true:
private boolean validation() {
String emailStr = etEmail.getText().toString();
if (emailStr.trim().isEmpty()) {
etEmail.setError(getResources().getString(R.string.eroareEmpty));
return false;
} else if (!emailStr.endsWith("stud.ase.ro") && emailStr.length() <= 15) {
etEmail.setError(getResources().getString(R.string.eroareEmail));
return false;
}
return true;
}
我想验证我在EditText etEmail中输入的文本是否包含(仅在字符串的末尾)&#34; stud.ase.ro&#34;,整个字符串不仅仅是它的一部分。 简单来说,我想验证电子邮件是否以&#34; stud.ase.ro&#34;没有别的。
目前我的方法返回true,即使我输入的内容非常类似于&#34; hellllllllllllooo @ stud&#34;,它不应该这样做。
答案 0 :(得分:1)
要匹配字符串的末尾,请使用String.endsWith
方法。
if (str.endWiths("hello123@stud")) {
//bla bla
}
您可能希望改进代码。您正在使用EditText
吗?
EditText.getText()
未返回null
EditText
内的文字创建一个局部变量:String emailStr = etEmail.getText().toString()
它会增加可读性。