ios 常用的正则表达式

本文提供了使用正则表达式进行密码、手机号、邮箱及身份证号验证的示例代码。通过Objective-C中的NSPredicate和NSRegularExpression类实现,适用于iOS应用开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

//正则匹配用户密码6-20位数字和字母组合
+ (BOOL)checkPassword:(NSString *) password
{
    NSString *pattern =@"(\\w|\\W){6,20}";
    NSPredicate *pred = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", pattern];
    BOOL isMatch = [predevaluateWithObject:password];
    return isMatch;
}

//正则匹配手机号码
+ (BOOL)isPhoneNumber:(NSString *)mobile
{
    NSString * regex =@"^0?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$";
    NSPredicate *pred = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", regex];
    BOOL isMatch = [predevaluateWithObject:mobile];
    
    return isMatch;
}


//正则匹配邮箱
+ (BOOL) isEmail:(NSString*) checkString {
    
    if([checkStringlength]==0){
        returnNO;
    }
    NSString *regExPattern =@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    
    NSRegularExpression *regEx = [[NSRegularExpressionalloc] initWithPattern:regExPatternoptions:NSRegularExpressionCaseInsensitiveerror:nil];
    NSUInteger regExMatches = [regExnumberOfMatchesInString:checkStringoptions:0range:NSMakeRange(0, [checkStringlength])];
    
    if (regExMatches ==0) {
        returnNO;
    } else {
        returnYES;
    }
}

//正则匹配身份证
+ (BOOL)isUserIdentityCard: (NSString *)idCard
{
    NSString *pattern =@"(^[0-9]{15}$)|([0-9]{17}([0-9]|X|x)$)";
    NSPredicate *pred = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", pattern];
    BOOL isMatch = [predevaluateWithObject:idCard];
    return isMatch;
}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值