博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS - 正则表达式判断邮箱、身份证..是否正确
阅读量:6897 次
发布时间:2019-06-27

本文共 2311 字,大约阅读时间需要 7 分钟。

//邮箱

+ (BOOL) validateEmail:(NSString *)email
{
    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];
}
 
 
//手机号码验证
+ (BOOL) validateMobile:(NSString *)mobile
{
    //手机号以13, 15,18开头,八个 \d 数字字符
    NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$";
    NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
    return [phoneTest evaluateWithObject:mobile];
}
 
 
//车牌号验证
+ (BOOL) validateCarNo:(NSString *)carNo
{
    NSString *carRegex = @"^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_\u4e00-\u9fa5]$";
    NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",carRegex];
    NSLog(@"carTest is %@",carTest);
    return [carTest evaluateWithObject:carNo];
}
 
 
//车型
+ (BOOL) validateCarType:(NSString *)CarType
{
    NSString *CarTypeRegex = @"^[\u4E00-\u9FFF]+$";
    NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",CarTypeRegex];
    return [carTest evaluateWithObject:CarType];
}
 
 
//用户名
+ (BOOL) validateUserName:(NSString *)name
{
    NSString *userNameRegex = @"^[A-Za-z0-9]{6,20}+$";
    NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex];
    BOOL B = [userNamePredicate evaluateWithObject:name];
    return B;
}
 
 
//密码
+ (BOOL) validatePassword:(NSString *)passWord
{
    NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$";
    NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex];
    return [passWordPredicate evaluateWithObject:passWord];
}
 
 
//昵称
+ (BOOL) validateNickname:(NSString *)nickname
{
    NSString *nicknameRegex = @"^[\u4e00-\u9fa5]{4,8}$";
    NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex];
    return [passWordPredicate evaluateWithObject:nickname];
}
 
 
//身份证号
+ (BOOL) validateIdentityCard: (NSString *)identityCard
{
    BOOL flag;
    if (identityCard.length <= 0) {
        flag = NO;
        return flag;
    }
    NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$";
    NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];
    return [identityCardPredicate evaluateWithObject:identityCard];
}

转载于:https://www.cnblogs.com/496668219long/p/4724337.html

你可能感兴趣的文章
能源项目xml文件标签释义--default-lazy-init
查看>>
Android 四大组件学习之ContentProvider四
查看>>
#include &lt;sys/socket.h&gt;找不到头文件
查看>>
CSS绘制简单图形
查看>>
一篇文章快速了解 量子计算机 (精心整理)【原创】 (2)
查看>>
SQL Server系统表sysobjects介绍与使用
查看>>
scala中Map和Tuple
查看>>
VUE 数据绑定
查看>>
021_nginx动态upstream检查
查看>>
Moogoose Constructor小坑
查看>>
Oracle报错:ORA-06508: PL/SQL: 无法找到正在调用的程序单元
查看>>
thinkphp自动完成、软删除 和时间戳
查看>>
线程的等待方法:join
查看>>
android 拍照声音文件路径
查看>>
keystone v2 to v3
查看>>
学好Android开发的几条建议-----选好教材很重要
查看>>
respondsToSelector
查看>>
PHP实例——获取客户端IP地址
查看>>
HDOJ-1999 不可摸数
查看>>
HDOJ---4278 Faulty Odometer[进制转化]
查看>>