如何在edittext不使用javascript正则表达式的情况下检查电子邮件地址的文本?在这里我使用inputtype="textEmailAddress"它是工作但没有显示错误消息.
我想验证EditText中引入的电子邮件,以及我已经拥有的代码:
final EditText textMessage =(EditText)findViewById(R.id.textMessage);
final TextView text =(TextView)findViewById(R.id.text);
textMessage.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
if (textMessage.getText().toString().matches("[a-zA-Z0-9._-]+@[a-z]+.[a-z]+") && s.length() > 0)
{
text.setText("valid email");
}
else
{
text.setText("invalid email");
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
Run Code Online (Sandbox Code Playgroud)
问题是当我在"@"之后引入3个字符时,它会显示消息"有效电子邮件",当我在介绍完整的电子邮件时它必须出现.
有什么建议吗?
谢谢你们!