iOS正则表达式判断手机号和密码
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] 密码符合要求
上一篇: iOS GBK转换为Utf8
下一篇: js中json数组和字符串的互转教程