检测是否输入了手机号码或电子邮件

时间:2015-10-07 06:33:22

标签: android

我的情况是用户会输入电子邮件或电话号码登录app,只提供一个edittext,例如paytm

我需要检测哪个是电子邮件或电话号码,以便我可以正确设置我的服务器 如何检测用户输入的号码或电子邮件

3 个答案:

答案 0 :(得分:1)

您可以做的一件事是检查它是否是电子邮件地址,然后检查它是否是有效的电话号码。我会像这样使用内置的Android函数:

boolean isEmailValid(CharSequence email) {
   return Patterns.EMAIL_ADDRESS.matcher(email).matches();
}

如果返回false,请检查它是否为有效的电话号码(Patterns.PHONE)。

如果一个或另一个返回true,那么你知道它是什么。如果两者都不成立,则表示无效。

有关emailphone匹配的详情。

答案 1 :(得分:0)

一对正则表达式......

对于电子邮件:http://www.regular-expressions.info/email.html

手机: A comprehensive regex for phone number validation

一种更简单的方法就像你想象的那样:

  1. 修剪前导和尾随空格

  2. 在任何其他字符串对之间查找@字符 - 如果是,请假设它是一封电子邮件。

  3. 否则,请做一些基本的删除括号,破折号,空格和点。如果剩下的就是所有号码,那么它可能是一个电话号码。

  4. 无论您如何解析和检测字符串作为电子邮件与电话号码,在序列中的某个位置,您必须通过拨打或向其发送内容来验证这些字符串是否合法。

答案 2 :(得分:0)

查看此链接 Email and phone Number Validation in android

如果电子邮件的移动有效,您可以设置条件。