1

可能重复:
本地化电话号码格式

我正在尝试在您输入电话号码的位置输入,并且在输入时,它意识到有这么多字符并在括号中添加:(xxx)xxx-xxxx。我在 Stack Overflow 上查看了我的问题的任何类似答案,并附上了这个链接

但是,我不能使用转换为十进制形式来解决我的问题,但在我可能应该使用textField:shouldChangeCharactersInRange:withString:方法这一事实中获得了更多的知识。我还需要在电话号码中添加连字符,但我想如果我可以为一个做,我可以为另一个做。

有什么建议么?

4

1 回答 1

3

这个怎么样:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    if (textField.text.length == 0)
     textField.text = [NSString stringWithFormat:@"(%@",textField.text];

    if (textField.text.length == 4)
        textField.text = [NSString stringWithFormat:@"%@) ",textField.text];

    if (textField.text.length == 9)
        textField.text = [NSString stringWithFormat:@"%@-",textField.text];

    if (textField.text.length > 13)
        return NO;

    return YES;
}
于 2012-11-18T03:09:07.017 回答