iOS正则表达式
来源:互联网 发布:node.js 个人博客 编辑:程序博客网 时间:2024/05/27 14:14
首先简单介绍一下正则表达式的基本写法及用法
\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 表示数字或字母
(.|[\r\n])* 表示任何多个字符,包括换行符,贪婪扫描
(.|[\r\n])*? 表示任何多个字符,包括换行符,懒惰扫描
(?:.|[\\r\\n]) 以(?:开头时的分组信息,表示不读取到缓冲器里,避免rangeAtIndex调用时产生副作用,后面还会遇到这样的(?:写法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
@implementation TSRegularExpressionUtil
//邮箱
+ (
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];
}
//month
+ (
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];
}
@end
0 0
- ios 正则表达式
- IOS正则表达式
- IOS正则表达式
- ios使用正则表达式
- IOS 正则表达式
- iOS正则表达式
- ios 正则表达式
- IOS-常用正则表达式
- ios之正则表达式
- iOS 正则表达式
- ios 正则表达式
- ios电话号码正则表达式
- iOS 正则表达式验证
- ios 正则表达式
- ios电子邮件正则表达式
- ios 使用正则表达式
- iOS 正则表达式
- iOS使用正则表达式
- C++/CLI 托管C++的数据类型介绍【2】
- 新年快乐
- C C++相互调用
- 蛇形矩阵
- Linux NFS mount挂载
- iOS正则表达式
- C++和C语言函数相互调用之二
- 约瑟夫问题——历史的真相
- 在看到厄尔巴岛之前,我曾经不可一世
- C++/CLI 托管C++的基本数据类型及函数【3】
- 勤奋的计算机系学生
- [编程语言][C语言]C语言的顺序结构
- 在CentOS 6.5上安装软件
- nginx反向代理配置,负载均衡