我想从具有以下要求的文本字段中验证我的密码。
- 密码必须包含一个大写字母和一个小写字母。
- 不允许使用特殊字符。
我试过[[NSCharacterSet symbolCharacterSet] characterIsMember:(my character to be tested]
,但它不适用于所有字符。
如果可能的话,也请给我建议正则表达式的解决方案,谢谢。
最佳答案
试一试。
- (BOOL)isPasswordValid:(NSString *)password
{
NSCharacterSet * characterSet = [NSCharacterSet uppercaseLetterCharacterSet] ;
NSRange range = [password rangeOfCharacterFromSet:characterSet] ;
if (range.location == NSNotFound) {
return NO ;
}
characterSet = [NSCharacterSet lowercaseLetterCharacterSet] ;
range = [password rangeOfCharacterFromSet:characterSet] ;
if (range.location == NSNotFound) {
return NO ;
}
characterSet = [NSCharacterSet characterSetWithCharactersInString:@"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"] ;
for (NSUInteger i = 0; i < [password length]; ++i) {
unichar uchar = [password characterAtIndex:i] ;
if (![characterSet characterIsMember:uchar]) {
return NO ;
}
}
return YES ;
}
关于ios - 在 iOS 中用于密码验证的 UITextfield 输入中的密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21276076/