RegexKitLite iOS: 密码验证 - 必须包含一个数字

RegexKitLite iOS: Password validation - must include one number

我在我的 iOS 应用程序中使用 RegexKitLite,我需要对密码文本字段的表单进行验证。我要遵循的规则是密码应至少包含一个数字、一个大写字母和两个符号。有人可以帮我解决这个问题吗?这是我在网上找到并尝试过的(当然不行):

if([password.text isMatchedByRegex:@"^(?=.*[0-9])(?=.*[A-Z])(?=.*\d)(?=.*[_\W]{2,}).+$"]) {
    // do stuff
}

我想出了一个答案,比试图将所有这些正则表达式塞进一个大的要简单得多。

if([password.text isMatchedByRegex:@"[0-9]+"] // contains at least 1 number
 && [password.text isMatchedByRegex:@"[A-Z]+"] // contains at least 1 Capital letter
 && [password.text isMatchedByRegex:@"[^a-zA-Z0-9]{2,}"]) // contains 2 symbols
{ 
     // do stuff
}

希望对大家有所帮助!