IOS正则表达式之验证密码身份证手机号
IOS正则表达式之验证密码身份证手机号
在项目中,我们在验证用户的输入,最简单的方法就是使用正则表达式了,ios系统也提供很方便的方法,让我们可以轻松的来验证用户名,密码,身份证好,手机号等;
下面附上我在项目中用到的正则表达式的验证方法,
由于比较常用,大家最好封装成+静态的方法,便于使用:
我把常用的方法,使用静态方法封装到一个Utils类里面,直接使用类名调用即可:
头文件:
// //Utils.h //AutoSizing // //Createdbyon15/2/7. //Copyright(c)2015年http://blog.csdn.net/yangbingbinga.Allrightsreserved. // #import@interfaceUtils:NSObject #pragma正则匹配手机号 +(BOOL)checkTelNumber:(NSString*)telNumber; #pragma正则匹配用户密码6-18位数字和字母组合 +(BOOL)checkPassword:(NSString*)password; #pragma正则匹配用户姓名,20位的中文或英文 +(BOOL)checkUserName:(NSString*)userName; #pragma正则匹配用户身份证号 +(BOOL)checkUserIdCard:(NSString*)idCard; #pragma正则匹员工号,12位的数字 +(BOOL)checkEmployeeNumber:(NSString*)number; #pragma正则匹配URL +(BOOL)checkURL:(NSString*)url; @end
.m实现文件:
// //Utils.m //AutoSizing // //Createdbyon15/2/7. //Copyright(c)2015年http://blog.csdn.net/yangbingbinga.Allrightsreserved. // #import"Utils.h" @implementationUtils #pragma正则匹配手机号 +(BOOL)checkTelNumber:(NSString*)telNumber { NSString*pattern=@"^1+[3578]+\\d{9}"; NSPredicate*pred=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",pattern]; BOOLisMatch=[predevaluateWithObject:telNumber]; returnisMatch; } #pragma正则匹配用户密码6-18位数字和字母组合 +(BOOL)checkPassword:(NSString*)password { NSString*pattern=@"^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{6,18}"; NSPredicate*pred=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",pattern]; BOOLisMatch=[predevaluateWithObject:password]; returnisMatch; } #pragma正则匹配用户姓名,20位的中文或英文 +(BOOL)checkUserName:(NSString*)userName { NSString*pattern=@"^[a-zA-Z\u4E00-\u9FA5]{1,20}"; NSPredicate*pred=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",pattern]; BOOLisMatch=[predevaluateWithObject:userName]; returnisMatch; } #pragma正则匹配用户身份证号15或18位 +(BOOL)checkUserIdCard:(NSString*)idCard { NSString*pattern=@"(^[0-9]{15}$)|([0-9]{17}([0-9]|X)$)"; NSPredicate*pred=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",pattern]; BOOLisMatch=[predevaluateWithObject:idCard]; returnisMatch; } #pragma正则匹员工号,12位的数字 +(BOOL)checkEmployeeNumber:(NSString*)number { NSString*pattern=@"^[0-9]{12}"; NSPredicate*pred=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",pattern]; BOOLisMatch=[predevaluateWithObject:number]; returnisMatch; } #pragma正则匹配URL +(BOOL)checkURL:(NSString*)url { NSString*pattern=@"^[0-9A-Za-z]{1,50}"; NSPredicate*pred=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",pattern]; BOOLisMatch=[predevaluateWithObject:url]; returnisMatch; } @end
使用方法示例:
if([UtilscheckTelNumber:@"18801112020"])//匹配结果,为YES { NSLog(@"手机号格式正确"); } else//匹配结果为NO { NSLog(@"手机号格式错误"); }
返回一个布尔值,根据布尔值,我们可以做相应的操作
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!