jyo*_*thi 8 string cocoa cocoa-touch objective-c nsstring
我需要检查一个字符串是否包含一个大写字母,一个小写字母,一个整数和一个特殊字符.我该如何检查?
Mau*_*lik 14
没有任何额外的框架:
NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"] invertedSet];
if ([aString rangeOfCharacterFromSet:set].location != NSNotFound) {
    NSLog(@"This string contains illegal characters.");
}
您也可以使用正则表达式(此语法来自RegexKitLite:http://regexkit.sourceforge.net ):
if ([aString isMatchedByRegex:@"[^a-zA-Z0-9]"]) {
    NSLog(@"This string contains illegal characters.");
}
发现稍微好一点的实现.对Ameesh答案的改进
- (BOOL)isValidString:(NSString *)string
{
    return [string rangeOfCharacterFromSet:[NSCharacterSet uppercaseLetterCharacterSet]].location != NSNotFound &&
    [string rangeOfCharacterFromSet:[NSCharacterSet lowercaseLetterCharacterSet]].location != NSNotFound &&
    [string rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]].location != NSNotFound;
}
| 归档时间: | 
 | 
| 查看次数: | 14563 次 | 
| 最近记录: |