Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Стационарный или мобильный телефон? / 23 сообщений из 23, страница 1 из 1
11.11.2014, 15:44
    #38802292
Виталий Гробштейн
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Есть большая база организаций России, Украины, Белоруссии, Казахстана. Для каждой организации указано несколько (до 5) номеров телефонов. Задача: выявить все мобильные и перенести их в отдельное поле.
Внутренний голос мне подсказывает, что я не первый столкнулся с этой проблемой, и у кого-нибудь должна найтись готовая процедура или отлаженный алгоритм.
Помогите! Время...
...
Рейтинг: 0 / 0
11.11.2014, 15:46
    #38802294
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Кодов операторов обычно немного и их можно вынести в справочник.

http://indexmain.ru/mobile/ru
...
Рейтинг: 0 / 0
11.11.2014, 16:09
    #38802317
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
...
Рейтинг: 0 / 0
11.11.2014, 17:04
    #38802429
Виталий Гробштейн
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Да с Российскими операторами вообще нет проблем: все их коды начинаются с 9, а в сетях фиксированной связи этого не может быть.
Вот в Казахстане все сложнее, да и на Украине довольно путано.
...
Рейтинг: 0 / 0
11.11.2014, 17:12
    #38802446
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Виталий ГробштейнЗадача: выявить все мобильные и перенести их в отдельное поле.
Внутренний голос мне подсказывает,
Внутренний голос мне подсказывает, что у мобильных операторов встречаются прямые номера, и выявить их будет весьма затруднительно.
...
Рейтинг: 0 / 0
11.11.2014, 17:21
    #38802467
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Виталий ГробштейнДа с Российскими операторами вообще нет проблем: все их коды начинаются с 9
У меня есть мобилка с городским номером...
...
Рейтинг: 0 / 0
11.11.2014, 17:25
    #38802479
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Не знаю как в России но в Украине мобильные операторы предлагают пакеты фиксированной связи
и интернета. Это по сути услуга проводной городской связи. Ну... технически неотличимо.

И сам по себе вопрос - выявить все мобильные и перенести их в отдельное поле звучит странно.

Надёжнее всего - прозвонить и спросить владельца о типе устройства.
...
Рейтинг: 0 / 0
11.11.2014, 18:11
    #38802581
Виталий Гробштейн
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
maytonНе знаю как в России но в Украине мобильные операторы предлагают пакеты фиксированной связи
и интернета. Это по сути услуга проводной городской связи. Ну... технически неотличимо.

И сам по себе вопрос - выявить все мобильные и перенести их в отдельное поле звучит странно.

Надёжнее всего - прозвонить и спросить владельца о типе устройства.
Звонки на т.наз. "прямые" номера тарифицируются как звонки на телефоны фиксированной связи. Поэтому их "мобильность" в моей задаче не имеет никакого значения.
А вот советовать прозвонить примерно 50000 номеров я заказчику не буду.
...
Рейтинг: 0 / 0
11.11.2014, 18:17
    #38802588
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Виталий ГробштейнЗвонки на т.наз. "прямые" номера тарифицируются как звонки на телефоны фиксированной связи.
Если вопрос в этом, то не майтесь фигнёй, а обращайтесь к соответствующему оператору связи и просите у него таблицу "какие префиксы как тарифицируются".
...
Рейтинг: 0 / 0
11.11.2014, 18:26
    #38802599
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
softwarerВиталий ГробштейнЗвонки на т.наз. "прямые" номера тарифицируются как звонки на телефоны фиксированной связи.
Если вопрос в этом, то не майтесь фигнёй, а обращайтесь к соответствующему оператору связи и просите у него таблицу "какие префиксы как тарифицируются".
Кстати да. В форуме - это попытка получить бесплатную инфу которая обычно платная.
...
Рейтинг: 0 / 0
11.11.2014, 21:15
    #38802805
Виталий Гробштейн
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
maytonКстати да. В форуме - это попытка получить бесплатную инфу которая обычно платная.
Инфа о кодах мобильных операторов общедоступна и совершенно бесплатна. Гугол мне все нужное выдал, и функцию проверки я написал.
Была мечта сэкономить пару часов времени, да не судьба...
Спасибо всем ответившим.
...
Рейтинг: 0 / 0
11.11.2014, 23:08
    #38802856
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Виталий Гробштейн, сэкономьте другим. Опубликуйте решение.
...
Рейтинг: 0 / 0
12.11.2014, 10:08
    #38803066
Виталий Гробштейн
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
skyANAВиталий Гробштейн, сэкономьте другим. Опубликуйте решение.

Вот оно:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
// Возвр. True, если данный номер - мобильный
function TfrmImport.IsMobile(Ph : string) : Boolean;
var S : string;
begin
  Result := False;
  if Length(Ph) < 10 then
    Exit;

  Ph := StringReplace(Ph, '-', '', [rfReplaceAll]);
  Ph := StringReplace(Ph, '(', '', [rfReplaceAll]);
  Ph := StringReplace(Ph, ')', '', [rfReplaceAll]);
  Ph := StringReplace(Ph, ' ', '', [rfReplaceAll]);

  if StrLeft(Ph, 2) = '+7' then
    Ph := Copy(Ph, 3, 10)
  else if StrLeft(Ph, 1) = '8' then
    Ph := Copy(Ph, 2, 10);

  if StrLeft(Ph, 1) = '8' then   // бесплатный звонок и т.п.
    Exit;

  if  CurCountryNm = 'РОССИЯ' then begin
    Result := (StrLeft(Ph, 1) = '9');
    Exit;

  end else if CurCountryNm = 'БЕЛОРУССИЯ'  then begin
    S := StrLeft(Ph, 3);
    if (S = '044') or (S = '033') or (S = '025') or (S = '029') then begin
      Result := True;
      Exit;
    end;

  end else if CurCountryNm = 'КАЗАХСТАН' then begin
    S := Copy(Ph, 3);
    if S[1] <> '7' then
      Exit;

    if (S = '700') or (S = '701') or (S = '702') or (S = '705') or (S = '707') or
       (S = '712') or (S = '713') or (S = '717') or (S = '718') or (S = '721') or
       (S = '725') or (S = '726') or (S = '727') or (S = '777') then begin
      Result := True;
    end;
    Exit;

  end else if CurCountryNm = 'УКРАИНА' 0 then begin
    S := Copy(Ph, 3);

    if (S = '039') or (S = '050') or (S = '063') or (S = '066') or (S = '067') or
       (S = '068') or ((S >= '091') and (S <= '099')) then begin
      Result := True;
    end;
    Exit;
  end;

end;
...
Рейтинг: 0 / 0
14.11.2014, 08:32
    #38805708
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Виталий Гробштейн
Код: pascal
1.
БЕЛОРУССИЯ

БЕЛАРУСЬ


Надо как-то проверять количество цифр.
...
Рейтинг: 0 / 0
14.11.2014, 11:05
    #38805917
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
eNoseВиталий Гробштейн
Код: pascal
1.
БЕЛОРУССИЯ

БЕЛАРУСЬПо-русски Белоруссия.
...
Рейтинг: 0 / 0
14.11.2014, 11:18
    #38805942
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
eNoseНадо как-то проверять количество цифр.
и с 8-й тоньше разбираться
+37529xxxyyyy
и 8029xxxyyyy
в Белоруссии это один и тот же номер

то что не Россия определяется по коду зоны- код зоны не может в России с нуля начинаться
...
Рейтинг: 0 / 0
14.11.2014, 11:32
    #38805963
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Гробштейну в помощь.

http://en.wikipedia.org/wiki/Radix_tree

Надеюсь разберётся что к чему.
...
Рейтинг: 0 / 0
17.11.2014, 08:22
    #38807814
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Виталий ГробштейнskyANAВиталий Гробштейн, сэкономьте другим. Опубликуйте решение.



Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  end else if CurCountryNm = 'УКРАИНА' 0 then begin
    S := Copy(Ph, 3);

    if (S = '039') or (S = '050') or (S = '063') or (S = '066') or (S = '067') or
       (S = '068') or ((S >= '091') and (S <= '099')) then begin
      Result := True;
    end;
    Exit;
  end;

end;


ну еще 097 и 098
...
Рейтинг: 0 / 0
26.11.2014, 18:43
    #38817692
andr_andrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
m7m,
на 2008 год было:
+ 380 39 xxx-xx-xx - Golden Telecom
+ 380 50 xxx-xx-xx - МТС
+ 380 63 xxx-xx-xx - life:)
+ 380 66 xxx-xx-xx - Jeans (МТС)
+ 380 67 xxx-xx-xx - Киевстар
+ 380 68 xxx-xx-xx - Beeline
+ 380 91 xxx-xx-xx - Укртелеком UMTS
+ 380 92 xxx-xx-xx - PEOPLEnet
+ 380 93 xxx-xx-xx - life:)
+ 380 94 xxx-xx-xx - Интертелеком
+ 380 95 xxx-xx-xx - МТС
+ 380 95 0xx-xx-xx - МТС
+ 380 95 1xx-xx-xx - МТС
+ 380 95 2xx-xx-xx - МТС
+ 380 95 3xx-xx-xx - МТС
+ 380 95 4xx-xx-xx - МТС
+ 380 95 5xx-xx-xx - МТС
+ 380 95 6xx-xx-xx - МТС
+ 380 95 7xx-xx-xx - Jeans (МТС)
+ 380 95 8xx-xx-xx - МТС
+ 380 95 9xx-xx-xx - Jeans (МТС)
+ 380 96 xxx-xx-xx - Киевстар
+ 380 96 0xx-xx-xx - Киевстар
+ 380 96 1xx-xx-xx - Киевстар
+ 380 96 2xx-xx-xx - Киевстар
+ 380 96 3xx-xx-xx - Киевстар
+ 380 96 4xx-xx-xx - Киевстар
+ 380 96 5xx-xx-xx - Киевстар
+ 380 96 6xx-xx-xx - DJUICE (Киевстар)
+ 380 96 7xx-xx-xx - DJUICE (Киевстар)
+ 380 96 8xx-xx-xx - DJUICE (Киевстар)
+ 380 96 9xx-xx-xx - DJUICE (Киевстар)
+ 380 97 xxx-xx-xx - Киевстар
+ 380 97 0xx-xx-xx - ???возможно Мобилыч??? (Киевстар)
+ 380 97 1xx-xx-xx - DJUICE (Киевстар)
+ 380 97 2xx-xx-xx - Киевстар
+ 380 97 3xx-xx-xx - Киевстар
+ 380 97 4xx-xx-xx - Киевстар
+ 380 97 5xx-xx-xx - Киевстар
+ 380 97 6xx-xx-xx - DJUICE (Киевстар)
+ 380 97 7xx-xx-xx - DJUICE (Киевстар)
+ 380 97 8xx-xx-xx - DJUICE (Киевстар)
+ 380 97 9xx-xx-xx - DJUICE (Киевстар)
+ 380 98 xxx-xx-xx - Киевстар
+ 380 98 0xx-xx-xx - Мобилыч (Киевстар)
+ 380 98 1xx-xx-xx - Киевстар
+ 380 98 2xx-xx-xx - Киевстар
+ 380 98 3xx-xx-xx - Киевстар
+ 380 98 4xx-xx-xx - Киевстар
+ 380 98 5xx-xx-xx - Киевстар
+ 380 98 6xx-xx-xx - DJUICE (Киевстар)
+ 380 98 7xx-xx-xx - DJUICE (Киевстар)
+ 380 98 8xx-xx-xx - DJUICE (Киевстар)
+ 380 98 9xx-xx-xx - DJUICE (Киевстар)
+ 380 99 xxx-xx-xx - МТС
+ 380 99 0xx-xx-xx - Jeans (МТС)
+ 380 99 1xx-xx-xx - Экотел (МТС)
+ 380 99 2xx-xx-xx - Jeans (МТС)
+ 380 99 3xx-xx-xx - Jeans (МТС)
+ 380 99 4xx-xx-xx - Jeans (МТС)
+ 380 99 5xx-xx-xx - Jeans (МТС)
+ 380 99 6xx-xx-xx - Экотел (МТС)
+ 380 99 7xx-xx-xx - Jeans (МТС)
+ 380 99 8xx-xx-xx - Jeans (МТС)
+ 380 99 9xx-xx-xx - Jeans (МТС)
...
Рейтинг: 0 / 0
27.11.2014, 11:20
    #38818193
Barlone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
m7mВиталий Гробштейнпропущено...

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  end else if CurCountryNm = 'УКРАИНА' 0 then begin
    S := Copy(Ph, 3);

    if (S = '039') or (S = '050') or (S = '063') or (S = '066') or (S = '067') or
       (S = '068') or ((S >= '091') and (S <= '099')) then begin
      Result := True;
    end;
    Exit;
  end;

end;


ну еще 097 и 098
И уже успело устареть - http://www.companion.ua/articles/content?id=292350
...
Рейтинг: 0 / 0
27.11.2014, 11:26
    #38818200
Barlone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
...
Рейтинг: 0 / 0
27.11.2014, 16:24
    #38818539
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
Возникла мысль написать БД "на JavaClasses". Вобщем в статик конструктор эти все справочники.
И для каждой страны свой пакет.
...
Рейтинг: 0 / 0
28.11.2014, 00:10
    #38818915
Виталий Гробштейн
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стационарный или мобильный телефон?
BarloneИ по Казахстану с Белоруссией откуда сведения?
https://ru.wikipedia.org/wiki/Телефонный_план_нумерации_Белоруссии
https://ru.wikipedia.org/wiki/Телефонный_план_нумерации_Казахстана

Сайты с информацией о телефонных кодах Гугол находит сотнями. Информация на них практически одинаковая, но в очень разных форматах, чтобы разобраться пришлось посидеть...
Украинские 097 и 098 мой алгоритм учитывает, ты просто невнимательно смотрел. Новый 073 не учитывает, но сейчас это уже проблема заказчика, а не моя. Я решал очень конкретную задачу в условиях дефицита времени. Мой код весьма далек от идеала, но как основа для дальнейшей работы может кому-нибудь пригодится.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Стационарный или мобильный телефон? / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]