6

私のiPadアプリで。UITextFieldが1つあります。ユーザーはそのテキストフィールドに値を入力します。この値は英数字である必要があります。ユーザーが特殊文字を入力した場合にアラートを表示したいと思います。どうすればいいですか?アラートの条件はどうあるべきですか?

どんな助けでも大歓迎です。

ありがとう、よろしく、PC

4

2 に答える 2

17

デリゲートに実装textField:shouldChangeCharactersInRange:replacementString:し、置換文字列に特殊文字がないか確認し、検出された場合は置換を禁止します。

非英数字をチェックする最も簡単な方法は次のとおりです。

if ([replacementString rangeOfCharacterFromSet:[[NSCharacterSet alphanumericCharacterSet] invertedSet]].location != NSNotFound) {
    // There are non-alphanumeric characters in the replacement string
}
于 2012-05-18T13:30:02.037 に答える
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;
}
于 2012-05-18T13:47:49.787 に答える