私のiPadアプリで。UITextFieldが1つあります。ユーザーはそのテキストフィールドに値を入力します。この値は英数字である必要があります。ユーザーが特殊文字を入力した場合にアラートを表示したいと思います。どうすればいいですか?アラートの条件はどうあるべきですか?
どんな助けでも大歓迎です。
ありがとう、よろしく、PC
私のiPadアプリで。UITextFieldが1つあります。ユーザーはそのテキストフィールドに値を入力します。この値は英数字である必要があります。ユーザーが特殊文字を入力した場合にアラートを表示したいと思います。どうすればいいですか?アラートの条件はどうあるべきですか?
どんな助けでも大歓迎です。
ありがとう、よろしく、PC
デリゲートに実装textField:shouldChangeCharactersInRange:replacementString:
し、置換文字列に特殊文字がないか確認し、検出された場合は置換を禁止します。
非英数字をチェックする最も簡単な方法は次のとおりです。
if ([replacementString rangeOfCharacterFromSet:[[NSCharacterSet alphanumericCharacterSet] invertedSet]].location != NSNotFound) {
// There are non-alphanumeric characters in the replacement string
}
あなたはそれを次のように行うことができます:-
#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;
}