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(@"手机号格式错误");
}
返回一个布尔值,根据布尔值,我们可以做相应的操作
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!