2014-09-20 194 views
0

我想檢查字符串是否僅包含字母數字(僅限字母和數字)。 我嘗試使用NSCharacterSet *strCharSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"];檢查字符串是否包含字母數字

我也試過這個NSString *string = @"[^a-zA-Z0-9]"; =沒有運氣

但只檢查字符串不包含任何字符或只包含此字符。我需要用戶輸入字母和數字。

-update 我有一個密碼文本框。我需要用戶輸入字母和密碼。但我無法檢查文本字段是否包含兩個字母和數字。通過使用上面的代碼,它僅檢查文本字段的文本是否僅包含字母數字。

+0

嘗試此鏈接http://stackoverflow.com/questions/7541803/allow-only-alphanumeric-characters-for-a-uitextfield – 2014-09-20 10:53:08

+0

它的工作原理是相同的,它只是允許用戶輸入字母數字,我想要的是要求用戶輸入數字和字母。 – MaappeaL 2014-09-20 11:10:21

+0

你還沒有真正顯示出足夠的代碼來知道你在檢查什麼,或者你在試圖完成什麼。另請注意,您的方法將僅限於英語,並且會失敗並顯示大多數其他語言。 – uchuugaka 2014-09-20 11:14:21

回答

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); 
相關問題