判断
if ([self judgePassWordLegal:_PasswordTextF.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];
}
}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 = @"^[0-9A-Za-z]{4,16}$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
result = [pred evaluateWithObject:_textfile];
}
return result;
}