不要因为用户输入了您不喜欢的字符而显示警报。这是糟糕的用户体验,尤其是在使用更容易出现拼写错误的软键盘时。
相反,处理输入以提取您想要的字符。考虑编写一个带有电话号码输入字段的 Web 表单。您对电话号码中的人类可读格式不感兴趣——连字符、国家代码的加号前缀等。但没有什么可以阻止用户输入这些字符。您有可以去除无效字符的代码,留下您想要的。
NSString
甚至可以让您轻松完成-stringByTrimmingCharactersInSet:
. NSCharacterSet
您使用要从给定实例中删除的字符定义 an 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"