2013-05-17 3 views
1

Допустим, у меня есть случайный номер телефона в NSString, который выглядит как @"+33142981234"Формат номера телефона в NSString по маске

Я также получаю некоторые маски для номера телефона форматирования с сервера, как это:

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

Что делать, чтобы отформатировать номер в соответствии с маской? Я хотел бы заполнить # символами от NSString. Есть ли удобный способ сделать это в Obj-с?

Есть ли способ сделать это на лету, пока текст вводится в UITextField?

+1

https://gist.github.com/gdavis/2845766 попробуйте это – Buntylm

+0

@BuntyMadan Я действительно искал и нашел этот смысл, и я должен сказать, что здесь проблема другая: у меня разные маски для разных регионов, У меня около 50 из 60 из них, и ваше предложение не подходит к сожалению. –

ответ

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 
    } 
} 
2

Я рекомендую использовать библиотеку Google libPhoneNumber. Там в порту Objective-C здесь:

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

Он имеет все виды замечательный телефонный номер разбора, форматирование, проверка и т.д. функциональность, что делает телефоны проще. Я использую его для всех мобильных приложений.

1

Для этого вы можете использовать библиотеку . Он имеет форматировщик и удобную категорию UITextField, он доступен в виде cocoapod.

+0

Отлично, я проверю, когда у меня есть шанс! –

Смежные вопросы