ios - 如何检查电子邮件格式是否有效?

标签 ios email-validation

我正在使用以下代码来检查我在 uitextfield 中输入的电子邮件的有效性。但是当我输入 abcd@m.com.com 时它返回 true,它没有返回 false。

NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    return [emailTest evaluateWithObject:email];

谁能给我建议?

最佳答案

不要排除域 m.com.com,因为它可能是 com.com 的子域(可能看起来很奇怪,但它是有效的 - 并且btw.real-域)。

如果您仍想排除所有子域(例如:只允许一个 .@ 之后),您可以排除电子邮件地址,例如:

  • example@provider.co.uk
  • example@groups.google.com
  • example@press.apple.com
  • example@support.stackexchange.com
  • abcd@m.com.com

因此,您可能不想排除它们。

关于ios - 如何检查电子邮件格式是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22804501/

相关文章:

ios - Swift 3/如何将 Root 的 UINavigationBar 与 UIViewController 的 UINavigationBar 重叠

javascript - Facebook 注册表单电子邮件验证模式

Yii 1.x 电子邮件验证器和本地主机地址

vb.net - 在 Exchange 服务器上验证电子邮件地址

ios - 推送通知中不播放声音

c++ - 如何在 Objective-C 中包装一个巨大的静态 C++ 库?

iphone - 当我返回我的应用程序而不检查状态栏框架时,我如何知道电话何时在通话中?

ios - UISearchBar - UISearchBar 的不同表格 View 背景

regex - 在JSF 2/PrimeFaces中使用正则表达式进行电子邮件验证

git - 如何强制用户在 GIT 中使用小写的电子邮件地址