在 iPhone 应用程序中显示美国格式的电话号码

发布于 2024-08-19 04:42:58 字数 135 浏览 5 评论 0 原文

在我的 iPhone 应用程序中,我有一个 textfield 来接受电话号码。我需要显示号码 美国电话号码格式。就像 (000) 000-0000。通常喜欢 iPhone 联系电话 号码输入。我该怎么办呢。任何想法将不胜感激。

In my iPhone app I have a textfield to accept phone number. I need to display the number
in US Phone number format. That is like (000) 000-0000. Typically like iPhone Contact phone
number entry. How can I do this. Any idea will be greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

埋情葬爱 2024-08-26 04:42:58

对于自动格式化,我使用 addTarget 与我的 Adam 善意引用的“phone-number.html” rel="nofollow noreferrer">PhoneNumberFormatter。 此处描述了实现方式。

For auto-formatting, I used addTarget in combination with my PhoneNumberFormatter that Adam kindly referenced. The implementation is described here.

萝莉病 2024-08-26 04:42:58

您将从

http:// /the-lost-beauty.blogspot.com/2010/01/locale-sensitive-phone-number.html

不要忘记使用 PhoneNumberFormatter 类。该博客中也提供了此类

You will get the phone number formatter from

http://the-lost-beauty.blogspot.com/2010/01/locale-sensitive-phone-number.html

Don't forget to use the PhoneNumberFormatter class. This class is also availabel in that blog

老娘不死你永远是小三 2024-08-26 04:42:58

由于用户在文本字段中手动输入电话号码,因此您可以使用 UITextFieldDelegate 方法 textField:shouldChangeCharactersInRange:replacementString: 通过在第一个数字之前添加 '(' 来动态更改输入的电话号码)' 3 位数字后输入 '-' 6 位数字后。
(或者)数字输入完成后,您可以更改显示格式,如下所示:

- (BOOL) textFieldShouldReturn:(UITextField *)textField {
     //resign the keypad and check if 10 numeric digits entered...
     NSRange range;
     range.length = 3;
     range.location = 3;

textField.text = [NSString stringWithFormat:@"(%@)%@-%@", [textField.text substringToIndex:3], [textField.text substringWithRange:range], [textField.text substringFromIndex:6];
}

Since the user is entering the phone number manually in the text field, you can use the UITextFieldDelegate Method textField:shouldChangeCharactersInRange:replacementString: to dynamically change the entered phone number by adding '(' before the 1st digit ')' after 3 digits are entered '-' after 6 digits.
(or) after the number entry is done, you can change the displayed format like this:

- (BOOL) textFieldShouldReturn:(UITextField *)textField {
     //resign the keypad and check if 10 numeric digits entered...
     NSRange range;
     range.length = 3;
     range.location = 3;

textField.text = [NSString stringWithFormat:@"(%@)%@-%@", [textField.text substringToIndex:3], [textField.text substringWithRange:range], [textField.text substringFromIndex:6];
}
稚然 2024-08-26 04:42:58
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
     //resign the keypad and check if 10 numeric digits entered...
     NSRange range;
     range.length = 3;
     range.location = 3;

textField.text = [NSString stringWithFormat:@"(%@) %@-%@", [textField.text substringToIndex:3], [textField.text substringWithRange:range], [textField.text substringFromIndex:6];
}
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
     //resign the keypad and check if 10 numeric digits entered...
     NSRange range;
     range.length = 3;
     range.location = 3;

textField.text = [NSString stringWithFormat:@"(%@) %@-%@", [textField.text substringToIndex:3], [textField.text substringWithRange:range], [textField.text substringFromIndex:6];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文