判断密码并认证FaceID
-
(IBAction)btn:(id)sender {
if ([_zhanghao.text isEqual:@""]) {
UIAlertView *aler =[[UIAlertView alloc] initWithTitle:@“提示” message:@“账号 不能为空” delegate:self cancelButtonTitle:@“确定” otherButtonTitles:nil, nil];
[aler show];
}else{
if ([_mima.text isEqual:@""]) {
UIAlertView *aler =[[UIAlertView alloc] initWithTitle:@“提示” message:@“密码 不能为空” delegate:self cancelButtonTitle:@“确定” otherButtonTitles:nil, nil];
[aler show];
return ;
}if ([self judgePassWordLegal:_mima.text]==YES) { LAContext *authenticationContext = [[LAContext alloc]init]; NSError* error = [[NSError alloc]init]; BOOL isTouchIdAailable = [authenticationContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:nil]; if (isTouchIdAailable) { NSLog(@"认证成功"); [authenticationContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"需要验证您的指纹来确认您的身份信息" reply:^(BOOL success, NSError * _Nullable error) { if(success) { dispatch_async(dispatch_get_main_queue(), ^{ twoViewController *sec =[[twoViewController alloc] init]; [self presentViewController:sec animated:YES completion:nil]; }); NSLog(@"恭喜,您通过了Touch ID指纹验证!"); } else { NSLog(@"抱歉,您未通过了Touch ID指纹验证!"); } }]; }else{ UIAlertController *alertvc =[UIAlertController alertControllerWithTitle:@"提示" message:@"不支持 touchID/fachID" preferredStyle:UIAlertControllerStyleAlert]; [alertvc addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleCancel handler:nil]]; [self presentViewController:alertvc animated:YES completion:nil]; } twoViewController *two =[twoViewController new]; [self presentViewController:two animated:YES completion:nil]; }else{ UIAlertView *aler =[[UIAlertView alloc] initWithTitle:@"提示" message:@"密码 格式不正确" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil]; [aler show]; }
}
}
-(BOOL)judgePassWordLegal:(NSString *)_textfile{
BOOL result = false;
if ([_textfile length] >= 8){
// 判断长度大于8位后再接着判断是否同时包含数字和字符
NSString * regex = @"1{4,16}$";
//识别正则语句 的类
NSPredicate *pred = [NSPredicate predicateWithFormat:@“SELF MATCHES %@”, regex];
result = [pred evaluateWithObject:_textfile];
}
return result;
}
-
0-9A-Za-z ↩︎