可以使用 NSPredicate 和正则表达式来判断输入的字符串是否是邮箱。

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

使用示例:

NSString *email = 'test@example.com';
BOOL isValid = [self isValidEmail:email];
if (isValid) {
    NSLog('输入的是邮箱');
} else {
    NSLog('输入的不是邮箱');
}

这个方法中的 emailRegex 是用来匹配邮箱的正则表达式。其中 [A-Z0-9a-z._%+-]+ 表示可以包含大小写字母、数字、点、下划线、百分号、加号和减号;@[A-Za-z0-9.-]+ 表示必须以 @ 符号开头,然后是大小写字母、数字、点和减号的组合;\.[A-Za-z]{2,} 表示必须以点开头,然后是至少两个大小写字母的组合。

通过 NSPredicate 的 evaluateWithObject 方法,可以判断输入的字符串是否符合正则表达式的规则,从而判断是否是邮箱。

iOS 正则表达式判断邮箱地址 - Objective-C 代码示例

原文地址: https://www.cveoy.top/t/topic/p16W 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录