Проверка номера телефона с использованием NSDataDetector
Как я могу проверить номер телефона, используя NSDataDetector. В моем проекте все текстовое содержимое длиной более 14 также допустимо, но NSDataDetector не обнаруживает его таким образом.
Я использую код из следующего сообщения stackru: NSTextCheckingResult для телефонных номеров
2 ответа
Ты не можешь использовать NSDataDetector
доступно только для [10_7,4_0]
Так что это простой и правильный способ подтвердить номер телефона, как ниже, а не NSDataDetector
NSString *string =@"121453315";
NSString *phoneRegex = @"^((\\+)|(00))[0-9]{6,14}$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
BOOL phoneValidates = [phoneTest evaluateWithObject:string];
Используйте NSDataDetector для обычных телефонных номеров и добавьте специальное регулярное выражение, совпадающее только с 14-значными + телефонными номерами, которые необходимы вашему приложению для добавления недостающих результатов. Для более коротких телефонных номеров NSDataDetector будет гораздо точнее, чем любое регулярное выражение, которое вы можете написать...