我的情况是用户会输入电子邮件或电话号码登录app,只提供一个edittext,例如paytm
我需要检测哪个是电子邮件或电话号码,以便我可以正确设置我的服务器 如何检测用户输入的号码或电子邮件
答案 0 :(得分:1)
您可以做的一件事是检查它是否是电子邮件地址,然后检查它是否是有效的电话号码。我会像这样使用内置的Android函数:
boolean isEmailValid(CharSequence email) {
return Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
如果返回false,请检查它是否为有效的电话号码(Patterns.PHONE)。
如果一个或另一个返回true,那么你知道它是什么。如果两者都不成立,则表示无效。
答案 1 :(得分:0)
一对正则表达式......
对于电子邮件:http://www.regular-expressions.info/email.html
手机: A comprehensive regex for phone number validation
一种更简单的方法就像你想象的那样:
修剪前导和尾随空格
在任何其他字符串对之间查找@
字符 - 如果是,请假设它是一封电子邮件。
否则,请做一些基本的删除括号,破折号,空格和点。如果剩下的就是所有号码,那么它可能是一个电话号码。
无论您如何解析和检测字符串作为电子邮件与电话号码,在序列中的某个位置,您必须通过拨打或向其发送内容来验证这些字符串是否合法。
答案 2 :(得分:0)
查看此链接 Email and phone Number Validation in android
如果电子邮件的移动有效,您可以设置条件。