|
Модераторы: ginnie |
|
vaxxxye |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.1.2016 Репутация: нет Всего: нет |
Прошу у вас помощи форумчане.Помогите пожалуйста с настройками диапазона regex под укр номера. Вот сама схема - но сложновато как то получается \([\d]{2,3}\)[ ]{0,2}[\d]{7} [\d]{3}-[\d]{3}-[\d]{2}-[\d]{2} [\d]{3}[- ()]{1}[\d]{3}-[\d]{2}-[\d]{2} [\d]{3}\) [\d]{7} [\d]{3}\) [\d]{3}[ -]{1}[\d]{2}[ -]{1}[\d]{2}[ -]{1} [\d]{12}|[\d]{11} [\d]{10}|[\d]{9} [\d]{3}[- ()]{1}[\d]{3}[- ()]{1}[\d]{2}[- ()]{1}[\d]{2} [\d]{3}[- ()]{1}[\d]{2}[- ()]{1}[\d]{2}[- ()]{1}[\d]{3} [\d]{3}[- ()]{1}[\d]{2}[- ()]{1}[\d]{3}[- ()]{1}[\d]{2} [\d]{3}[- ()]{1}[\d]{7} [\d]{3}[- ()]{1}[\d]{4}[- ()]{1}[\d]{3} [\d]{3}[- ()]{1}[\d]{3}[- ()]{1}[\d]{4} Как правильно вправить в этот код что бы принимало номера с телефонами "+38..." по примеру +38(097)xxxxxxx ? хотя бы один регекс,исходя из этого рг? Благодарю за помощь и с НГ вас. |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
примеры номеров накидать можете?
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
mailer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
\+38\(?0\(?(?<code>\d{2})\)?(?<fg>\d{3})-?(?<sg>\d{2})-?(?<tg>\d{2})
Здесь четыре именованных группы: <code> - содержит код оператора (последние две цифры, поскольку код Украины в международном классификаторе не 38, а 380); <fg> - первые три цифры номера; <sg> - вторые две цифры номера; <tg> - последние две цифры номера. Потом из этих групп собираете полный номер. Матчится как минимум на следующие варианты ввода: +380501234567 +38(097)1234567 +380(63)1234567 +380(66)123-4567 +380(50)123-45-67 И в качестве новогоднего подарка:
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
vaxxxye |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.1.2016 Репутация: нет Всего: нет |
Да конечно. Вот примеры номеров что бы проще было +38 098 307 89 53 +380 (50) 814-50-05 +380 (50) 81-45-005 +38 097-143-73-03 +38 (097)-143-73-03 +38 (097)14-37-303 ну это в общем.(Но смысла писать много нету,ибо схема выше "регулярок" работает по такому поиску символов только без учёта "38 и 380"). Мне хотя бы пару примеров по этой схеме что бы не нарушать структуру регулярок выше иначе перестает всё работать.А лучше довести до универсальности,думаю будет полезно пользователям. Добавлено через 2 минуты и 24 секунды
К сожалению нарушив структуре регекса который выше,перестает работать всё) но все ровно благодарен за помощь и отзыв.Всё же лучше попробовать исходить из того что есть. |
||||
|
|||||
vaxxxye |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.1.2016 Репутация: нет Всего: нет |
от к примеру эта регулярка " [\d]{3}-[\d]{3}-[\d]{2}-[\d]{2} " отвечает за поиск такого стандарта символов к примеру 097-955-55-55.А как бы подогнать под стандарты с +380 и 38.?
|
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
работает в ваших примерах Это сообщение отредактировал(а) Romikgy - 3.1.2016, 20:02 -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
По-моему, это страдание хернёй какой-то. Хотите нормально? Приведите телефон к E.164, затем можно код страны позицыонно сравнивать.
|
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
vadiml |
|
|||
Опытный Профиль Группа: Участник Сообщений: 310 Регистрация: 27.7.2007 Репутация: нет Всего: 7 |
Зачистите номер телефона от всех нецифровых символов, а затем проверяйте корректность,
после, если надо, поставите сами скобки, дефисы и др. в положенных местах |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |