【问题标题】:Detect if Mobile number or email entered检测是否输入了手机号码或电子邮件
【发布时间】:2015-10-07 06:33:22
【问题描述】:

我有一种情况,用户将输入电子邮件或电话号码以登录应用程序,只提供一个编辑文本,如在 paytm 中

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

【问题讨论】:

  • 如果不包含@,则为电话号码。但我认为更好的做法是在两个字段之间显示“或”,让用户决定是否要填写电话、电子邮件或两者兼而有之。
  • 如果您使用的是 android,请使用 android 方式 :) 这就是为什么我喜欢 @wblaschko 的回答

标签: android


【解决方案1】:

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

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

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

如果其中一个返回 true,那么您就知道它是哪个。如果两者都不为真,则为无效条目。

更多关于 emailphone 匹配。

【讨论】:

    【解决方案2】:

    一对正则表达式...

    邮箱:http://www.regular-expressions.info/email.html

    对于手机: A comprehensive regex for phone number validation

    更简单的方法与您可能想的完全一样:

    1. 修剪前导和尾随空格

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

    3. 否则,对括号、破折号、空格和圆点进行一些基本的删除。如果剩下的全是数字,那很可能是电话号码。

    无论您如何将字符串解析和检测为电子邮件还是电话号码,您都必须在序列中的某个位置通过拨号或邮寄东西来验证这些字符串是否合法。

    【讨论】:

      【解决方案3】:

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

      邮箱的手机是否有效,可以设置条件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-20
        • 1970-01-01
        • 2012-03-12
        • 1970-01-01
        • 1970-01-01
        • 2016-01-03
        相关资源
        最近更新 更多