正则表达式限制 账号 密码 邮箱 身份证 手机号的相关代码
废话不多说了,直接给大家贴实现此功能的正则表达式代码了,具体代码如下所示:
#import<Foundation/Foundation.h>
intmain(){
//?=={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=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",regex];//创建需要满足上面的正则表达式的谓词
NSLog(@"该电话号码:%d",[predicateevaluateWithObject:tel]);
//用户名(第一位必须是字母,6-16位,只能有字母,数字或下划线)
NSString*user=@"m54355";
NSString*regex1=@"^[A-Za-z]\\w{5,15}$";
NSPredicate*predicate1=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",regex1];
//NSLog(@"该电话号码:%d",[predicate1evaluateWithObject:user]);
////身份证
//NSString*user1=@"610125199301300814";
//NSString*regex2=@"^\\d{17}[\\dxX]$";
//NSPredicate*predicate2=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",regex2];
//NSLog(@"该身份证:%d",[predicate2evaluateWithObject:user1]);
//邮箱
NSString*mailbox=@"101707383@qq.com";
NSString*regex3=@"^[a-zA-Z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}$";
NSPredicate*predicate3=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",regex3];
//NSLog(@"该邮箱:%d",[predicate3evaluateWithObject:mailbox]);
//手机号
//NSString*phone=@"18709259205";
//NSString*regex4=@"^1[3|4|5|7|8]\\d{9}$";
//NSPredicate*predicate4=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",regex4];
//NSLog(@"该手机:%d",[predicate4evaluateWithObject:phone]);
if([predicate1evaluateWithObject:user]==1){
if([predicate3evaluateWithObject:mailbox]==1){
NSLog(@"登录成功");
}
}else{
NSLog(@"错误");
}
return0;
}