我想检查字符串是否仅包含字母数字。(仅限字母和数字)。
我尝试使用NSCharacterSet *strCharSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"];
我也试过这个NSString *string = @"[^a-zA-Z0-9]";
=没有运气
但它只检查字符串是否包含任何字符或仅包含此字符。我需要用户输入字母和数字。
-update 我有密码的文本字段。我需要用户输入字母和密码。但我无法检查文本字段是否包含两个字母和数字。通过使用上面的代码,它仅检查文本字段的文本是否仅包含字母数字。
答案 0 :(得分:8)
您只需要对数字和字母进行单独检查。
BOOL containsLetter = NSNotFound != [input rangeOfCharacterFromSet:NSCharacterSet.letterCharacterSet].location;
BOOL containsNumber = NSNotFound != [input rangeOfCharacterFromSet:NSCharacterSet.decimalDigitCharacterSet].location;
NSLog(@"Contains letter: %d\n Contains number: %d", containsLetter, containsNumber);