2015-10-07 68 views
0

我有一种情况,用户将进入电子邮件或电话号码登录到应用程序中,只有一个的EditText在paytm提供,像检测,如果手机号码或电子邮件地址输入

我需要检测其中输入或者电子邮件或电话没有,这样我可以正确设置 我的服务器我如何能检测一下用户已经输入号码或电子邮件

+0

为什么不使用'if'? –

+1

如果它不包含'@'这是一个电话号码。但我认为更好的做法是在两个字段之间显示“或”,让用户决定是否要填写电话,电子邮件或两者兼而有之。 – alfasin

+0

如果你使用的是android,那就使用android方式:)这就是为什么我喜欢@wblaschko的答案 – 0X0nosugar

回答

1

有一两件事你可以做的是检查它是否是一个电子邮件地址,然后检查它是否是一个有效的电话号码。我会使用内置的Android功能,如下所示:

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

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

如果其中一个返回true,那么你知道它是哪个。如果两者都不正确,则这是无效的条目。

更多关于emailphone的匹配。

0

一对正则表达式的...

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

对于电话: A comprehensive regex for phone number validation

一个简单的方法是完全一样,你可能会想:

  1. 修剪首尾空白

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

  3. 否则,做一些基本的圆括号,破折号,空格和点去除。如果剩下的都是数字,那可能是一个电话号码。

无论你如何解析,你必须验证,如果这些字符串是合法的,在拨打,或邮寄东西,它的序列中检测到的字符串作为电子邮件与电话号码的地方。

相关问题