магазин E-mail и пароль в NSUserDefaults:
[[NSUserDefaults standardUserDefaults] setObject:@"[email protected]" forKey:@"Email"];
[[NSUserDefaults standardUserDefaults] setObject:@"[email protected]" forKey:@"Password"];
Validation Для Email:
-(BOOL)NSStringIsValidEmail:(NSString *)checkString
{
BOOL stricterFilter = NO;
NSString *stricterFilterString = @"^[A-Z0-9a-z\\._%+-][email protected]([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}$";
NSString *laxString = @"^[email protected]([A-Za-z0-9-]+\\.)+[A-Za-z]{2}[A-Za-z]*$";
NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:checkString];
}
Validation Для Strong Пароль:
- (BOOL)strongPassword:(NSString *)yourText
{
BOOL strongPwd = YES;
//Checking length
if([yourText length] < 8)
strongPwd = NO;
//Checking uppercase characters
NSCharacterSet *charSet = [NSCharacterSet uppercaseLetterCharacterSet];
NSRange range = [yourText rangeOfCharacterFromSet:charSet];
if(range.location == NSNotFound)
strongPwd = NO;
//Checking lowercase characters
charSet = [NSCharacterSet lowercaseLetterCharacterSet];
range = [yourText rangeOfCharacterFromSet:charSet];
if(range.location == NSNotFound)
strongPwd = NO;
//Checking special characters
charSet = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
range = [yourText rangeOfCharacterFromSet:charSet];
if(range.location == NSNotFound)
strongPwd = NO;
return strongPwd;
}
проверка достоверности электронной почты или пароль, если успех, то войдите еще можно показать предупреждение:
-(IBAction)Login:(id)sender
{
NSString *Email = [[NSUserDefaults standardUserDefaults]objectForKey:@"Email"];
NSString *Password = [[NSUserDefaults standardUserDefaults]objectForKey:@"Password"];
BOOL flagEmail,flagPassword = false;
if(![Email isEqualToString:@""])
{
flagEmail = [self NSStringIsValidEmail:Email];
if(flagEmail)
{
NSLog(@"Email is accepted");
}
else
{
NSLog(@"Email is not valid");
}
}
else
{
NSLog(@"Email is empty");
}
if(![Password isEqualToString:@""])
{
flagPassword = [self strongPassword:Password];
if(flagPassword)
{
NSLog(@"Password is accepted");
}
else
{
NSLog(@"Password is not valid");
}
}
else
{
NSLog(@"Password is empty");
}
if(flagEmail && flagPassword)
{
NSLog(@"Email and password both are valid and not empty");
}
}
У вас есть код подтверждения пароля и пароля? –
Да, да, но проверка выполняется в uitesting. –