如何限制iPad中UITextField中的特殊字符?

Pra*_*bey 6 objective-c uitextfield ipad

在我的iPad应用程序中.我有一个UITextField.用户将在该文本字段中输入一些值.该值必须是Alpha数字.如果他/她输入任何特殊字符,我想向用户显示警告.我该怎么做?什么应该是警报的条件?

任何帮助将受到高度赞赏.

谢谢和问候,PC

das*_*ght 17

textField:shouldChangeCharactersInRange:replacementString:在委托中实现,检查替换字符串中是否有特殊字符,如果检测到任何字符,则禁止替换.

检查非字母数字的最简单方法如下:

if ([replacementString rangeOfCharacterFromSet:[[NSCharacterSet alphanumericCharacterSet] invertedSet]].location != NSNotFound) {
    // There are non-alphanumeric characters in the replacement string
}
Run Code Online (Sandbox Code Playgroud)


Mau*_*lik 5

你可以这样做: -

#define ACCEPTABLE_CHARECTERS @" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
   NSCharacterSet *acceptedInput = [NSCharacterSet characterSetWithCharactersInString:ACCEPTABLE_CHARECTERS];

   if (![[string componentsSeparatedByCharactersInSet:acceptedInput] count] > 1)
      return NO;
   else
      return YES;
}
Run Code Online (Sandbox Code Playgroud)