正则表达式
发布时间:2020-12-13 22:39:38 所属栏目:百科 来源:网络整理
导读:首先简单介绍一下正则表达式的基本写法及用法 d 匹配任何一个数字,即[0-9] d+表示1个以上的数字 d*标示0个或多个数字 s 表示分隔符,包括空格、制表符和换行符 s* 0个或多个分隔符 w 表示字母、数字和下划线,这里还包括Unicode字符,不同的语言里有
首先简单介绍一下正则表达式的基本写法及用法 d 匹配任何一个数字,即[0-9] d+表示1个以上的数字 d*标示0个或多个数字 s 表示分隔符,包括空格、制表符和换行符 s* 0个或多个分隔符 w 表示字母、数字和下划线,这里还包括Unicode字符,不同的语言里有些不同 w{4} 表示4个非空白字符 . 表示任何一个字符,不包括换行符 .* 表示任何多个字符,当然也不包括换行符了 ^([0-9]) 表示数字开头 ([0-9])$ 表示数字结尾 ([0-9A-Za-z]) 表示数字字母 | 表示或的关系,如d|w 表示数字或字母 (.|[rn])* 表示任何多个字符,包括换行符,贪婪扫描 (.|[rn])*? 表示任何多个字符,包括换行符,懒惰扫描 (?:.|[rn]) 以(?:开头时的分组信息,表示不读取到缓冲器里,避免rangeAtIndex调用时产生副作用,后面还会遇到这样的(?:写法
+ (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]{4,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]{2,5})(·[u4e00-u9fa5]{2,5})*"; 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]; } //银行卡 + (BOOL) validateBankCardNumber: (NSString *)bankCardNumber { BOOL flag; if (bankCardNumber.length <= 0) { flag = NO; return flag; } NSString *regex2 = @"^(d{15,30})"; NSPredicate *bankCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [bankCardPredicate evaluateWithObject:bankCardNumber]; } //银行卡后四位 + (BOOL) validateBankCardLastNumber: (NSString *)bankCardNumber { BOOL flag; if (bankCardNumber.length != 4) { flag = NO; return flag; } NSString *regex2 = @"^(d{4})"; NSPredicate *bankCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [bankCardPredicate evaluateWithObject:bankCardNumber]; } //CVN + (BOOL) validateCVNCode: (NSString *)cvnCode { BOOL flag; if (cvnCode.length <= 0) { flag = NO; return flag; } NSString *regex2 = @"^(d{3})"; NSPredicate *cvnCodePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [cvnCodePredicate evaluateWithObject:cvnCode]; } //month + (BOOL) validateMonth: (NSString *)month { BOOL flag; if (!month.length == 2) { flag = NO; return flag; } NSString *regex2 = @"(^(0)([0-9])$)|(^(1)([0-2])$)"; NSPredicate *monthPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [monthPredicate evaluateWithObject:month]; } //year + (BOOL) validateYear: (NSString *)year { BOOL flag; if (!year.length == 2) { flag = NO; return flag; } NSString *regex2 = @"^([1-3])([0-9])$"; NSPredicate *yearPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [yearPredicate evaluateWithObject:year]; } //verifyCode + (BOOL) validateVerifyCode: (NSString *)verifyCode { BOOL flag; if (!verifyCode.length == 6) { flag = NO; return flag; } NSString *regex2 = @"^(d{6})"; NSPredicate *verifyCodePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [verifyCodePredicate evaluateWithObject:verifyCode]; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |