您的位置:首页 > 移动开发 > IOS开发

iOS验证邮箱的有效性

2017-03-07 15:32 337 查看

验证邮箱账号的有效性

概述

验证邮箱账号的有效性。自测各类邮箱均可以验证。

通过正则表达式30分钟入门教程来判断。

下文中用到的正则表达式字符串为
"^(([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)))@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$"


可能我这个正则写的较为复杂,我看了网上一些正则并不能验证通过该邮箱账号
630121a01z0.cdb@sina.cn
(笔者以前上学时候的邮箱)。所以才有了该正则。

如果有好的建议,希望及时联系我,万分感谢【抱拳】。

Code

源码下载地址,源码中包含各种字符串(手机号、邮箱、中文名、身份证号等)校验方法

+ (BOOL) checkEmptyString:(NSString *) string {

if (string == nil) return string == nil;

NSString *newStr = [string stringByReplacingOccurrencesOfString:@" " withString:@""];
return [newStr isEqualToString:@""];
}


/**
判断是否是有效的邮箱

@param checkString 邮箱字符串
@return 如果是有效的邮箱,返回`YES`  否则返回`NO`
*/
+ (BOOL)isValidEmail:(NSString *)checkString
{
if ([MMCheckTool checkEmptyString:checkString]) return NO;

NSString *emailRegex = @"^(([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)))@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:checkString];
}


Test

//邮箱
{
BOOL a = [MMCheckTool isValidEmail:@"1286090267@qq.com"];
BOOL b = [MMCheckTool isValidEmail:@"m12860gyh@gmail.com"];
BOOL c = [MMCheckTool isValidEmail:@"guoyonghong@jfpal.com"];
BOOL d = [MMCheckTool isValidEmail:@"yunyinga321@gmail.com"];
BOOL e = [MMCheckTool isValidEmail:@"630121a01z0.cdb@sina.com"];
BOOL f = [MMCheckTool isValidEmail:@"630121a01z0.cdb@sina.com.cn"];
BOOL g = [MMCheckTool isValidEmail:@"630121a01z0@sina.com.net"];
BOOL h = [MMCheckTool isValidEmail:@""];
BOOL i = [MMCheckTool isValidEmail:nil];

NSLog(@"邮箱=====》%d%d%d%d%d%d%d%d%d",a,b,c,d,e,f,g,h,i); //打印结果为  111111100
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: