Квартал ПРО - програми по нерухомості, форум підтримки користувачів.

Програми по нерухомості => Квартал ПРО - програма по нерухомості => Тема розпочата: alexbrok від Листопада 01, 2016, 06:07:35 PM

Назва: Проверка телефонов по базе
Відправлено: alexbrok від Листопада 01, 2016, 06:07:35 PM
Есть функция проверки телефонов при копировании в буфер обмена. При копировании любой цифры эта функция срабатывает и выдает список телефонов где упоминается эта цифра.
Что-бы это упорядочить, я так понимаю, есть в настройках параметров "Образец поиска телефонов в тексте". Как должен выглядеть этот образец, что-бы поиск реагировал только на № телефонов? Например: о5о1111111, +380501111111, 050-111-11-11
Назва: Re: Проверка телефонов по базе
Відправлено: Akella від Листопада 01, 2016, 06:20:09 PM
Можно попробовать что-то из этого
https://makeit-team.com/forum/index.php/topic,49.0.html
Назва: Re: Проверка телефонов по базе
Відправлено: Akella від Листопада 01, 2016, 06:21:57 PM
например,
Код Select
\d{1,}[\d-)* ]{5,15}\d+?

5 - минимальной кол-во символов
15 - максимальное кол-во символов
символы - это цифры и плюс знаки, их разделяющие: пробел, тире, скобка, звездочка
Назва: Re: Проверка телефонов по базе
Відправлено: alexbrok від Листопада 01, 2016, 07:58:55 PM
Цитата: Akella від Листопада 01, 2016, 06:21:57 PM5 - минимальной кол-во символов
15 - максимальное кол-во символов
символы - это цифры и плюс знаки, их разделяющие: пробел, тире, скобка, звездочка
Эти данные заложены в упомянутом коде? расшифровки что за что отвечает нигде нет на сайте?
Назва: Re: Проверка телефонов по базе
Відправлено: Akella від Листопада 01, 2016, 09:33:30 PM
Погуглите про регулярные выражения, но там всё сложно.
Легче обозначить условия. Попробую помочь.
Назва: Re: Проверка телефонов по базе
Відправлено: alexbrok від Листопада 02, 2016, 02:48:24 PM
Примеры используемых номеров такие 0501111111(исправил), +380501111111, 1111111, разделители: пробел, тире-дефиз, скобки (050). Если возможно такой шаблон сделать, то это охватит практически все варианты.
Назва: Re: Проверка телефонов по базе
Відправлено: Akella від Листопада 02, 2016, 03:01:50 PM
050 не вижу в первом телефоне
у Вас же буква о, а не цифра 0
т.е. нужно учитывать ещё и букву о? Учитывать и кириллическую, и латиницу. Правильно?
Назва: Re: Проверка телефонов по базе
Відправлено: Akella від Листопада 02, 2016, 03:08:29 PM
вот такой шаблон, который будет учитывать латиницу и кириллицу (для буквы о)
Код Select
[\doо]{1,}[oо\d-)* ]{5,15}\d+?
это на вид буквы одинаковые, а для ПК - это совершенно два разных символа
Назва: Re: Проверка телефонов по базе
Відправлено: alexbrok від Листопада 02, 2016, 05:50:54 PM
нет, простите, это случайно скопировал буквы, там должны быть цыфры "ноль"
Назва: Re: Проверка телефонов по базе
Відправлено: Akella від Листопада 02, 2016, 06:12:51 PM
тогда в чем проблема?
я не понял
Назва: Re: Проверка телефонов по базе
Відправлено: alexbrok від Листопада 02, 2016, 06:53:16 PM
Цитата: Akella від Листопада 02, 2016, 06:12:51 PMтогда в чем проблема?
я не понял
если только цифры то следует использовать этот щаблон?: \d{1,}[\d-)* ]{5,15}\d+?
Назва: Re: Проверка телефонов по базе
Відправлено: Akella від Листопада 02, 2016, 07:38:46 PM
Я даже дал целую ссылку. Там можно выбрать, какой больше подходит Вам. Попробовать тот или иной шаблон.

А вот если ТОЛЬКО цифры безо всяких разделителей (тире, скобки, пробелы), то можно и это использовать:
Код Select
\d{7,12}
\d - это обозначение цифры
{7,12} - количество цифр, минимум 7 (например, городской номер), а максиму 12, т.е.полный мобильный: 380671234567
Назва: Re: Проверка телефонов по базе
Відправлено: Akella від Листопада 02, 2016, 07:43:43 PM
шаблон "\d{7,12}" без кавычек будет определять от 7 до 12 цифр включительно, идущих подряд:
380671234567
0671234567
7172312
0577471199

не будет определять любые другие сочетания цифр, если в наборе будет пробел, тире, скобка, буква и т.д., т.е. должны быть только цыфры
38(067)123-45-67 - не определит
067-123-45-67 - не определит

если будет вот такое: 067-1234567, то программа определит только то, что после тире, т.к. 1234567 - это 7 цифр, идущих подряд.
Назва: Re: Проверка телефонов по базе
Відправлено: alexbrok від Листопада 02, 2016, 08:04:22 PM
Цитата: alexbrok від Листопада 02, 2016, 02:48:24 PMПримеры используемых номеров такие 0501111111(исправил), +380501111111, 1111111, разделители: пробел, тире-дефиз, скобки (050). Если возможно такой шаблон сделать, то это охватит практически все варианты.
я имел ввиду для таких вариантов подойдет этот?:  \d{1,}[\d-)* ]{7,13}\d+?
Назва: Re: Проверка телефонов по базе
Відправлено: Akella від Листопада 03, 2016, 12:05:35 PM
Подойдет