根据掩码格式化NSString中的电话号码

时间:2013-05-17 13:31:15

标签: ios objective-c cocoa-touch nsstring phone-number

假设NSString中的随机电话号码看起来像@"+33142981234"

我也从这样的服务器获取了一些电话号码格式的掩码:

mask = " (###) ###-###";

如何根据面具格式化数字?我想用NSString中的符号填写#。在Obj-с中有没有方便的方法呢?

UITextField中输入文字时,还有一种方法可以即时进行吗?

3 个答案:

答案 0 :(得分:2)

我建议使用google libPhoneNumber库。这里有一个到Objective-C的端口:

https://github.com/me2day/libPhoneNumber-iOS

它具有各种精彩的电话号码解析,格式化,验证等功能,使电话号码更容易。我将它用于我的所有移动应用程序。

答案 1 :(得分:1)

您可以使用AKNumericFormatter库。它具有格式化和方便的UITextField类别,它可以作为cocoapod使用。

答案 2 :(得分:0)

将其转换为代码:

create an empty destination string that you can add characters to
start at index 0 in both strings (formatIndex = numberIndex = 0)
for each character (formatChar) in the format string
{
    if formatChar is a '#'
    {
        find the next number character (numberChar)
        add numberChar to the destination string
    }
    else
    {
        copy formatChar into the destination string
    }
}