iOS开发验证判断语句之正则表达式小结
正则表达式是什么
正则表达式就是由一些字符和符号组成的字符串,用来匹配文本内容的模式。在 iOS 开发中,正则表达式可以用于验证用户输入的合法性,比如验证手机号码、邮箱地址、身份证号码等。
正则表达式语法
在 iOS 开发中,可以使用 NSRegularExpression 类来创建正则表达式,并通过调用 firstMatchInString:options:range:
等方法来验证文本内容是否符合正则表达式。下面是一些常用的正则表达式语法:
匹配单个字符
.
: 匹配任意字符\d
: 匹配数字字符\D
: 匹配非数字字符\w
: 匹配单词字符(包括数字和字母)\W
: 匹配非单词字符\s
: 匹配空白字符(包括空格、制表符、换行符等)\S
: 匹配非空白字符
匹配重复次数
*
: 匹配前一个字符重复 0 次或更多次+
: 匹配前一个字符重复 1 次或更多次?
: 匹配前一个字符重复 0 次或 1 次{n}
: 匹配前一个字符重复 n 次{n,}
: 匹配前一个字符重复至少 n 次{n,m}
: 匹配前一个字符重复 n 到 m 次
匹配位置
^
: 匹配字符串开头$
: 匹配字符串结尾\b
: 匹配单词边界\B
: 匹配非单词边界
匹配字符集
[]
: 匹配方括号中的任意一个字符[^]
: 匹配不在方括号中的任意一个字符-
: 表示范围,比如[a-z]
表示匹配任意一个小写字母
分组
()
: 分组匹配
正则表达式示例
验证手机号码
NSString *mobileRegex = @"^1[3-9]\\d{9}$";
NSString *mobile = @"18888888888";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:mobileRegex options:NSRegularExpressionAnchorsMatchLines error:nil];
NSTextCheckingResult *result = [regex firstMatchInString:mobile options:0 range:NSMakeRange(0, mobile.length)];
if (result) {
NSLog(@"手机号码验证通过");
} else {
NSLog(@"手机号码验证失败");
}
验证身份证号码
NSString *idCardRegex = @"^(\\d{15}|\\d{17}[\\dxX])$";
NSString *idCardNumber = @"110101199001011234";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:idCardRegex options:NSRegularExpressionAnchorsMatchLines error:nil];
NSTextCheckingResult *result = [regex firstMatchInString:idCardNumber options:0 range:NSMakeRange(0, idCardNumber.length)];
if (result) {
NSLog(@"身份证号码验证通过");
} else {
NSLog(@"身份证号码验证失败");
}
通过以上示例,可以看到如何使用正则表达式来验证手机号码和身份证号码的合法性。开发者可以根据需要,自行编写正则表达式来验证其他类型的文本内容。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:iOS开发验证判断语句之正则表达式小结 - Python技术站