仅允许UITextView中的字母数字字符

use*_*539 2 xcode objective-c uitextview nscharacterset

无论如何,我可以允许用户只在文本视图中输入字母数字字符而不能输入其他字符.

编辑:

试过了,

if ([_txtView.text rangeOfCharacterFromSet:alphaSet].location != NSNotFound)
    {
        UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Hello" message:@"Only alpha numeric characters are allowed" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
        return;

    }
Run Code Online (Sandbox Code Playgroud)

但这只适用于某些时候

谢谢!!

RJR*_*RJR 13

您可以使用[[[NSCharacterSet alphanumericCharacterSet] invertedSet]来实现.此方法将返回仅包含接收器中不存在的字符的字符集.

NSCharacterSet *charactersToBlock = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
Run Code Online (Sandbox Code Playgroud)

//符合UITextField委托并实现此方法.

 - (BOOL)textField:(UITextField *)field shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)characters
 {
    return ([characters rangeOfCharacterFromSet:charactersToBlock].location == NSNotFound);
 }
Run Code Online (Sandbox Code Playgroud)