Validate an email inside an EditText(验证 EditText 中的电子邮件)
问题描述
我想验证在 EditText 中引入的电子邮件以及我已经拥有的代码:
I want to validate an email introduced inside an EditText and this the code that I already have:
最终的 EditText textMessage = (EditText)findViewById(R.id.textMessage);
final EditText textMessage = (EditText)findViewById(R.id.textMessage);
最终 TextView 文本 = (TextView)findViewById(R.id.text);
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) {}
});
问题是,当我在@"之后引入 3 个字符时,它会出现消息有效电子邮件",而当我引入完整的电子邮件时它必须出现.
The problem is that when I introduce 3 characters after the "@", it appears the message "valid email", when it must appear when I introduce the complete email.
有什么建议吗?
谢谢大家!
推荐答案
只要改变你的正则表达式如下:
Just change your regular expression as follows:
"[a-zA-Z0-9._-]+@[a-z]+\.+[a-z]+"
因为 .(dot) 表示匹配任何单字符.在您的点之前添加一个双反斜杠以代表一个真正的点.
Because . (dot) means match any single-char.ADD a double backslash before your dot to stand for a real dot.
这篇关于验证 EditText 中的电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:验证 EditText 中的电子邮件
基础教程推荐
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01