iOS验证邮箱的有效性

验证邮箱账号的有效性

概述

验证邮箱账号的有效性。自测各类邮箱均可以验证。
通过正则表达式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
}

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值