如何在iPhone中执行密码验证?

Ran*_*ani 3 iphone objective-c

我有一个应用程序,我必须在密码和确认密码上执行验证.这是我的密码字段标准:

  1. 第一个字母应该是资本.
  2. 密码应超过6个值.
  3. 至少应该有一个特殊键.
  4. 密码中至少应输入1个数值.

如果存在所有这些条件,则仅接受密码.

Mor*_*ast 11

这应该工作:

- (BOOL)passwordIsValid:(NSString *)password {

    // 1. Upper case.
    if (![[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:[password characterAtIndex:0]])
        return NO;

    // 2. Length.
    if ([password length] < 6)
        return NO;

    // 3. Special characters.
    // Change the specialCharacters string to whatever matches your requirements.
    NSString *specialCharacters = @"!#€%&/()[]=?$§*'";
    if ([[password componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:specialCharacters]] count] < 2)
        return NO;

    // 4. Numbers.
    if ([[password componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"0123456789"]] count] < 2)
        return NO;

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

测试出来:

NSLog(@"%@", [self passwordIsValid:@"Test#one"] ? @"YES" : @"NO"); // Prints NO.
NSLog(@"%@", [self passwordIsValid:@"Test#1"] ? @"YES" : @"NO"); // Prints YES.
Run Code Online (Sandbox Code Playgroud)