检查文本是不是是android中的电子邮件地址[重复]
Posted
技术标签:
【中文标题】检查文本是不是是android中的电子邮件地址[重复]【英文标题】:Check if text is an Email address in android [duplicate]检查文本是否是android中的电子邮件地址[重复] 【发布时间】:2015-09-03 01:33:34 【问题描述】:无论如何要检查我从网络服务获得的文本中是否是地址电子邮件?我收到长文本,需要检查电子邮件地址在哪里并使其可点击。 知道我该怎么做吗?
【问题讨论】:
这篇文章可能对你有所帮助:***.com/questions/6119722/… 这能回答你的问题吗? How to check edittext's text is email address or not? 【参考方案1】:使用正则表达式解析电子邮件模式的文本 http://www.regular-expressions.info/email.html
\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]2,4\b
【讨论】:
从字符串中解析出文本后,OP 可以以任何他们认为合适的方式使用生成的地址。显然,要使某些东西“可点击”,它需要以 HTML 或其他类型的 UI 呈现给用户。在不了解环境的情况下,我无法建议显示该文本的策略。 问题被标记为“android” - 那是环境,因此我的评论。【参考方案2】:这可能会有所帮助
public static boolean isValidEmailAddress(String email)
String ePattern = "^[a-zA-Z0-9.!#$%&'*+/=?^_`|~-]+@((\\[[0-9]1,3\\.[0-9]1,3\\.[0-9]1,3\\.[0-9]1,3\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]2,))$";
java.util.regex.Pattern p = java.util.regex.Pattern.compile(ePattern);
java.util.regex.Matcher m = p.matcher(email);
return m.matches();
【讨论】:
【参考方案3】:要检查它是否是有效的电子邮件地址,有很多答案(包括这里的一些)。但要使其可点击,请使用Linkify
:
http://developer.android.com/reference/android/text/util/Linkify.html
一个例子/解释:
Does Linkify work for TextView in Android?
【讨论】:
以上是关于检查文本是不是是android中的电子邮件地址[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Android 中的 Vision OCR 结果文本中提取姓名、电话号码和电子邮件地址?