【发布时间】:2016-04-02 07:07:20
【问题描述】:
我创建了以下正则表达式来验证我的电子邮件
- (BOOL)isValidEmail
{
BOOL stricterFilter = YES;
NSString *stricterFilterString = @"[A-Z0-9a-z\\._%+-]+@([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}";
NSString *laxString = @".+@([A-Za-z0-9]+\\.)+[A-Za-z]{2}[A-Za-z]*";
NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:self];
}
但是当我输入以下内容时它失败了:
b. !@#$%^ bfv@mn.cn
我的正则表达式有问题吗?
【问题讨论】:
-
您几乎无法验证电子邮件地址...唯一确定的方法是发送确认电子邮件。
-
@luk2302 我不这么认为..
-
@Umair !@ 不是有效的电子邮件地址
-
随意尝试验证电子邮件地址并陷入痛苦的世界 - 继续尝试其他正则表达式
-
而“horst@bayern”是您当前会拒绝的有效电子邮件地址 - 甚至不要尝试。
标签: ios regex nspredicate nsregularexpression