欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS正则表达式判断手机号和密码

程序员文章站 2022-07-05 22:32:15
iOS正则表达式判断手机号和密码 密码规则: //1. 密码不能全部为数字 //2. 密码不能全部为字母 //3. 密码必须包含字母和数字 //4. 密码6-20位 N...

iOS正则表达式判断手机号和密码

密码规则:

//1. 密码不能全部为数字

//2. 密码不能全部为字母

//3. 密码必须包含字母和数字

//4. 密码6-20位

NSString *phone=@"13400009999";

if ([self checkPhoneNumber:phone]) {

NSLog(@"手机号符合要求");

}else{

NSLog(@"手机号nonono");

}

NSString *passWords=@"2222aa";

if ([self checkPassWord:passWords]) {

NSLog(@"密码符合要求");

}else{

NSLog(@"密码nonono");

}

#pragma mark 判断密码

-(BOOL)checkPassWord:(NSString *)passWords

{

//6-20位数字和字母组成

NSString *regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$";

NSPredicate * pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

if ([pred evaluateWithObject:passWords]) {

return YES ;

}else

return NO;

}

#pragma mark 判断电话号码

-(BOOL)checkPhoneNumber:(NSString *)phone

{

//正则表达式

NSString *pattern = @"^1+[3578]+\\d{9}$";

//创建一个谓词,一个匹配条件

NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];

//评估是否匹配正则表达式

BOOL isMatch = [pred evaluateWithObject:phone];

return isMatch;

}

运行结果:

2017-06-29 21:38:35.173 2222[14948:4628846] 手机号nonono

2017-06-29 21:38:35.173 2222[14948:4628846] 密码符合要求