ユーザーが気に入らない文字を入力したため、アラートを表示しないでください。これはひどい UX です。特に、タイプミスが起こりやすいソフト キーボードを使用している場合はなおさらです。
代わりに、入力を処理して、必要な文字を抽出します。電話番号の入力フィールドを含む Web フォームを作成することを考えてみてください。電話番号の人間が読める形式 (ハイフン、国コードのプラスのプレフィックスなど) には関心がありません。しかし、ユーザーがこれらの文字を入力することを妨げるものは何もありません。無効な文字を取り除き、必要なものを残すことができるコードがあります。
NSString
を使用すると、これも簡単になります-stringByTrimmingCharactersInSet:
。NSCharacterSet
特定のインスタンスから削除したい文字を含む を定義しNSString
、 invokeを実行すると、必要な文字のみを-stringByTrimmingCharactersInSet:
含む自動解放されたインスタンスが取得されます。次に例を示します。NSString
NSString *rawInput; // value assigned elsewhere to @"555-555-1212"
NSCharacterSet *characterSet = [ NSCharacterSet characterSetWithCharactersInString: @"-" ];
NSString *processedInput = nil;
processedInput = [ rawInput stringByTrimmingCharactersInSet: characterSet ];
NSLog( @"processedInput: %@", processedInput ); // logs "5555551212"