Цель-c regex для проверки номера телефона [дубликат]

18
задан Community 23 May 2017 в 12:33
поделиться

3 ответа

Вы можете использовать библиотеку регулярных выражений (например, RegexKit и т. Д.), Или вы можете использовать регулярные выражения через NSPredicate (немного более неясно, но не требует третьего -партийные библиотеки). Это будет выглядеть примерно так:

NSString *phoneNumber = ...;
NSString *phoneRegex = @"[235689][0-9]{6}([0-9]{3})?"; 
NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex]; 
BOOL matches = [test evaluateWithObject:phoneNumber];

Если вы используете iPhone, то iOS 4 представила NSRegularExpression , который также будет работать. Подход NSPredicate работает как на Mac, так и на iPhone (любой версии).

35
ответ дан 30 November 2019 в 05:42
поделиться

В iOS 4.0+ для этого есть встроенные классы, NSRegularExpression

Во всем остальном вы можете использовать стороннюю библиотеку RegEx или использовать NSPredicate , если ваши потребности достаточно узкие

5
ответ дан 30 November 2019 в 05:42
поделиться

Пожалуйста, не используйте свой собственный regex для номера телефона. Не надо.

Формат телефонных номеров меняется по всей стране, и ваше приложение может использоваться за пределами вашей страны.

Вместо этого используйте то, что предоставляет Apple, как говорит Джош. См. здесь.

23
ответ дан 30 November 2019 в 05:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: