1 | NSString * regex = @ "(^[A-Za-z0-9]{6,15}$)" ; |
2 | NSPredicate * pred = [NSPredicate predicateWithFormat:@ "SELF MATCHES %@" , regex]; |
3 | BOOL isMatch = [pred evaluateWithObject:@ "123456ABCde" ]; |
01 | 下面是一些常用的正则表达式 |
02 | //邮箱 |
03 | + ( BOOL ) validateEmail:(NSString *)email |
04 | { |
05 | NSString *emailRegex = @ "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}" ; |
06 | NSPredicate *emailTest = [NSPredicate predicateWithFormat:@ "SELF MATCHES %@" , emailRegex]; |
07 | return [emailTest evaluateWithObject:email]; |
08 | } |
09 | |
10 | |
11 | //手机号码验证 |
12 | + ( BOOL ) validateMobile:(NSString *)mobile |
13 | { |
14 | //手机号以13, 15,18开头,八个 \d 数字字符 |
15 | NSString *phoneRegex = @ "^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$" ; |
16 | NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@ "SELF MATCHES %@" ,phoneRegex]; |
17 | return [phoneTest evaluateWithObject:mobile]; |
18 | } |
19 | |
20 | |
21 | //车牌号验证 |
22 | + ( BOOL ) validateCarNo:(NSString *)carNo |
23 | { |
24 | NSString *carRegex = @ "^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_\u4e00-\u9fa5]$" ; |
25 | NSPredicate *carTest = [NSPredicate predicateWithFormat:@ "SELF MATCHES %@" ,carRegex]; |
26 | NSLog(@ "carTest is %@" ,carTest); |
27 | return [carTest evaluateWithObject:carNo]; |
28 | } |
29 | |
30 | |
31 | //车型 |
32 | + ( BOOL ) validateCarType:(NSString *)CarType |
33 | { |
34 | NSString *CarTypeRegex = @ "^[\u4E00-\u9FFF]+$" ; |
35 | NSPredicate *carTest = [NSPredicate predicateWithFormat:@ "SELF MATCHES %@" ,CarTypeRegex]; |
36 | return [carTest evaluateWithObject:CarType]; |
37 | } |
38 | |
39 | |
40 | //用户名 |
41 | + ( BOOL ) validateUserName:(NSString *)name |
42 | { |
43 | NSString *userNameRegex = @ "^[A-Za-z0-9]{6,20}+$" ; |
44 | NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@ "SELF MATCHES %@" ,userNameRegex]; |
45 | BOOL B = [userNamePredicate evaluateWithObject:name]; |
46 | return B; |
47 | } |
48 | |
49 | |
50 | //密码 |
51 | + ( BOOL ) validatePassword:(NSString *)passWord |
52 | { |
53 | NSString *passWordRegex = @ "^[a-zA-Z0-9]{6,20}+$" ; |
54 | NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@ "SELF MATCHES %@" ,passWordRegex]; |
55 | return [passWordPredicate evaluateWithObject:passWord]; |
56 | } |
57 | |
58 | |
59 | //昵称 |
60 | + ( BOOL ) validateNickname:(NSString *)nickname |
61 | { |
62 | NSString *nicknameRegex = @ "^[\u4e00-\u9fa5]{4,8}$" ; |
63 | NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@ "SELF MATCHES %@" ,nicknameRegex]; |
64 | return [passWordPredicate evaluateWithObject:nickname]; |
65 | } |
66 | |
67 | |
68 | //身份证号 |
69 | + ( BOOL ) validateIdentityCard: (NSString *)identityCard |
70 | { |
71 | BOOL flag; |
72 | if (identityCard.length <= 0) { |
73 | flag = NO; |
74 | return flag; |
75 | } |
76 | NSString *regex2 = @ "^(\\d{14}|\\d{17})(\\d|[xX])$" ; |
77 | NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@ "SELF MATCHES %@" ,regex2]; |
78 | return [identityCardPredicate evaluateWithObject:identityCard]; |
79 | } |