废话不多说了,直接给大家贴实现此功能的正则表达式代码了,具体代码如下所示:
#import <Foundation/Foundation.h>int main() {// ? == {0,1}// * == {0,无穷}// + == {1,无穷}// /d == [0-9]// /w == [A-Za-z_0-9]// * 的意思是可有可无// [a|b|c]+ 表示三个至少出现一次或多次//检测电话号码是否正确NSString *tel = @"";//正则表达式NSString *regex = @"^//d*$";// NSString *regex = @"^[0-9]{3,4}-[0-9]{7,8}$";NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex];//创建需要满足上面的正则表达式的谓词NSLog(@"该电话号码:%d",[predicate evaluateWithObject:tel]);//用户名 (第一位必须是字母,6-16位,只能有字母,数字或下划线)NSString *user = @"m54355";NSString *regex1 = @"^[A-Za-z]//w{5,15}$";NSPredicate *predicate1 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex1];// NSLog(@"该电话号码:%d",[predicate1 evaluateWithObject:user]);// //身份证// NSString *user1 = @"610125199301300814";// NSString *regex2 = @"^//d{17}[//dxX]$";// NSPredicate *predicate2 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex2];// NSLog(@"该身份证:%d",[predicate2 evaluateWithObject:user1]);//邮箱NSString *mailbox = @"101707383@qq.com";NSString *regex3 = @"^[a-zA-Z0-9._%+-]+@[A-Za-z0-9.-]+//.[A-Za-z]{2,4}$";NSPredicate *predicate3 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex3];// NSLog(@"该邮箱:%d",[predicate3 evaluateWithObject:mailbox]);//手机号// NSString *phone = @"18709259205";// NSString *regex4 = @"^1[3|4|5|7|8]//d{9}$";// NSPredicate *predicate4 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex4];// NSLog(@"该手机:%d",[predicate4 evaluateWithObject:phone]);if ([predicate1 evaluateWithObject:user] == 1) {if ([predicate3 evaluateWithObject:mailbox] == 1) {NSLog(@"登录成功");}}else{NSLog(@"错误");}return 0;}
新闻热点
疑难解答
图片精选