在Android中验证电子邮件地址(例如来自用户输入字段)的好技术是什么?org.apache.commons.validator.routines.EmailValidator似乎不可用。是否有其他库已包含在Android中,或者我必须使用RegExp?
不要使用正则表达式。
显然,以下是一个正则表达式,它可以正确地验证大多数符合RFC 2822的电子邮件地址(并且在org.apache.commons.validator之类的“ [email protected]”之类的消息上仍然会失败。例程.EmailValidator)
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
验证电子邮件的最简单方法可能只是将确认电子邮件发送到所提供的地址,然后它会退回然后无效。
如果您要执行一些基本检查,则可以检查其形式是否正确 *@*
如果您有一些特定于业务逻辑的验证,则可以使用正则表达式执行该验证,例如必须是gmail.com帐户或类似名称。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句