0

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

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

1 回答 1

1

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

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
}

希望这对某人有帮助!

于 2015-03-27T15:14:40.077 回答