我正在使用以下代码来检查我在 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/