正则表达式限制 账号 密码 邮箱 身份证 手机号的相关代码
废话不多说了,直接给大家贴实现此功能的正则表达式代码了,具体代码如下所示:
#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; }