我一直在寻找答案,并尝试了许多在SO上发布的用户示例,但是它们似乎并不能回答我的问题。
在英国,大多数或区号以零开头,我有一个NSTextField并创建了一个客户NSNumberFormatter。我希望我的NSTextField接受以零开头的数字,我不想使用NSNumberFormatter填充选项,因为电话号码的长度可能非常但总是以零开头。
- (BOOL)isPartialStringValid:(NSString*)partialString newEditingString:(NSString**)newString errorDescription:(NSString**)error {
if (partialString.length <= 0 || [partialString rangeOfCharacterFromSet:[[NSCharacterSet characterSetWithCharactersInString:@"0123456789."] invertedSet]].location != NSNotFound) {
NSLog(@"This is not a positive integer");
return NO;
}
return YES; } @end
上面的示例可以正常工作,并允许输入任意长度的任何数字,但是在将焦点从NSTextField移开时,总会删除前导零。
示例数字: 01202 01134 01103111345
如何停止删除前导零?
感谢您阅读。
答案 0 :(得分:0)
您是否尝试过查看图书馆来管理电话号码,例如 libPhoneNumber-iOS已涵盖了大部分内容。如果您只是想与英国电话号码打交道,那也许可以认为是矫kill过正。
我可以在此处复制代码,但是检查框架可能更有效。它已经存在多年了,所以它已经过了很好的测试,在他们的应用程序中使用o2时,我已经使用了很多次。如果您不决定使用它,只需浏览一下代码,即可在其中找到答案。
我看到您正在寻找Mac can do it,但这很努力