检查String是否包含字母数字

时间:2014-09-20 10:50:31

标签: ios nsstring alphanumeric

我想检查字符串是否仅包含字母数字。(仅限字母和数字)。 我尝试使用NSCharacterSet *strCharSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"];

我也试过这个NSString *string = @"[^a-zA-Z0-9]"; =没有运气

但它只检查字符串是否包含任何字符或仅包含此字符。我需要用户输入字母和数字。

-update 我有密码的文本字段。我需要用户输入字母和密码。但我无法检查文本字段是否包含两个字母和数字。通过使用上面的代码,它仅检查文本字段的文本是否仅包含字母数字。

1 个答案:

答案 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);