Как разделить номер телефона на 3 части

Как разделить номер телефона?

Номер телефона разделяют с конца по две цифры, при этом для семизначных номеров первую цифру традиционно не отделяют. Например: 12 34 56; 123 45 67; 12 34 56 78. На Западе принято разделять с конца по четыре цифры, однако такой вариант воспринимать труднее.

  1. Как правильно разделять номер телефона?
  2. Как разделить номер телефона в Excel?
  3. Как правильно +7 или 8?
  4. Как правильно пишется номер мобильного телефона?
  5. Можно ли один и тот же номер сотового телефона указать в разных профилях?
  6. Можно ли один номер использовать на два телефона?
  7. Как привести номера телефонов в единый Формат?
  8. Как работает функция Правсимв?
  9. Как называется перенос номера?
  10. Что значит +7 номер телефона?
  11. Что означает 810 при наборе номера?
  12. Почему в России +7 и 8?
  13. Как указать номер телефона?
  14. Как принято писать номер телефона?
  15. Как пишется номер?
  16. Как формируется номер телефона?
  17. Как правильно писать добавочный номер?
  18. Как правильно писать номер телефона типографика?
  19. Как сделать Формат телефона в Экселе?
  20. Как сделать деления в Экселе?
  21. Сколько чисел в номере?
  22. Как правильно набрать номер телефона?
  23. Как на телефоне набрать 7?
  24. Как пишется номер +7?
  25. Как писать номер телефона со скобками?
  26. В каком формате пишется номер?
  27. Что такое корректный номер телефона?
  28. Как правильно указать номер телефона на визитке?
  29. Как правильно сложить номер телефона?
  30. Как правильно писать номер телефона в России?
  31. Как правильно указать номер мобильного телефона в международном формате?

Как правильно разделять номер телефона?

Номера телефонов принято писать, отделяя дефисом по две цифры справа налево, например: 2-99-85-90; 2-95. В номерах телефонов с числом цифр больше шести отделяют крайнюю левую группу в три цифры: 990-00-00.

Как разделить номер телефона в Excel?

Разделите код города от номера телефона текстом в столбец в Excel:

  • Выберите список телефонных номеров, нажмите Данные > Текст в столбцы.
  • в Мастер преобразования текста в столбцы диалоговое окно, отметьте фиксированная ширина и нажмите Далее.
  • Затем установите ширину поля, установив линии разрыва со стрелкой.

Как правильно +7 или 8?

Если вы находитесь в России, то разницы действительно нет, а вот если оказались за ее пределами и хотите позвонить на родину, важно набрать в начале номера +7. «+» обозначает международный формат, а «7» — код России и Казахстана.

Как правильно пишется номер мобильного телефона?

Мобильный с федеральным номером Код России (7), код оператора (9XX), номер абонента. Например: 79221110500. Россия Код России (7), код города, номер абонента.

Можно ли один и тот же номер сотового телефона указать в разных профилях?

Можно ли один и тот же номер мобильного телефона указать в разных профилях? | FAQ вопрос-ответ по Одноклассникам На сайте Одноклассники один номер телефона может быть «привязан» только к одному профилю. Если номер телефона не использовался в течение трёх месяцев на сайте, то его можно указать в другом профиле.

Можно ли один номер использовать на два телефона?

К сожалению, ведущие российские операторы (МТС, МегаФон, Теле2 и Билайн) пока не предоставляют такую возможность. Клонировать SIM-карту невозможно.

Как привести номера телефонов в единый Формат?

Для вызова этого окна используйте сочетание клавиш «Ctrl+1» или нажмите правую клавишу мышки и в контекстном меню выберите пункт «Формат ячеек»: В открывшемся окне, во вкладке «Число» выберите пункт «все форматы». В появившееся справа поле Тип: введите маску нужного Вам формата.

Как работает функция Правсимв?

Функция ПРАВСИМВ возвращает последний символ или несколько последних символов текстовой строки на основе заданного числа символов. Функция ПРАВБ возвращает последний символ или несколько последних символов текстовой строки на основе заданного числа байтов.

Как называется перенос номера?

Что такое перенос номера? Это услуга, позволяющая сохранить свой номер телефона при смене оператора связи. Ещё её называют аббревиатурой MNP от англ. Mobile Number Portability — «переносимость мобильных номеров».

Что значит +7 номер телефона?

«+7» — международный код абонентов из России и Казахстана. При наборе номера в данном формате, человек из любой точки мира может связаться с людьми из этих стран. Знак «плюс» означает международный формат номера, а цифра «7» — телефонный код страны.

Что означает 810 при наборе номера?

Например, в некоторых странах СНГ (Белоруссия, Казахстан, Таджикистан, Туркменистан, Узбекистан) префиксом является «8 ~ 10» (символом ~ обозначена пауза для ожидания гудка, впрочем, на современных цифровых АТС можно не ждать гудка, а сразу набирать номер, начинающихся на 810).

Почему в России +7 и 8?

Международный консультационный комитет по телефонии и телеграфии постановлением №Е. 164 определил план нумерации в сетях общего пользования. Цифра 7 досталась не только России, но также Казахстану и Абхазии. Собственно, они унаследовали семёрку от СССР.

Как указать номер телефона?

Самый простой способ — указать полный номер телефона с кодом страны и кодом города. +7 (351) 240-04-40 — с такой формой телефонного номер 100% не возникнет проблем. Для компаний чья география реализации товаров и услуг лежит в пределах РФ, допустимо опустить код страны (351) 240-04-40.

Как принято писать номер телефона?

Номера телефонов принято писать без знака номера, отделяя дефисом или пробелом по две цифры справа налево. Напр.: 2-99-85-90; 2-95; 2 99 85 90. Если в первой группе цифр телефонного номера одна цифра, ее допустимо объединять в одну группу со следующими двумя цифрами. Напр.: 299-85-90, 299 85 90, 295.

Как пишется номер?

В русской типографике для обозначения порядкового числа предмета (при условии обязательного указания числового значения) в ряду других однородных — номера — употребляется символ №. В США номер обозначают знаком решётки — #.

Как формируется номер телефона?

Национальные номера абонентов (то есть без префиксов, таких как международный +7 или национальный 8) состоят из 10 цифр, в которые входят зоновый код (3 цифры) и номер абонента (7 цифр).

Как правильно писать добавочный номер?

В качестве него используется запятая. Чтобы поставить ее при наборе номера с мобильного телефона, нужно нажать и удержать некоторое время кнопку «*». После появления запятой набрать добавочный номер.

Как правильно писать номер телефона типографика?

Оформление номера телефона. Мобильные имеют формат «8 911 123 44 55», а городские — «111 22 33». В скобках пишутся только необязательные для набора цифры (код города, например); 3.

Как сделать Формат телефона в Экселе?

Отображение чисел как номеров телефона:

  • Выберите ячейку или диапазон, которые нужно отформатирование. Как выбрать ячейки или диапазоны?
  • На вкладке Главная нажмите кнопку запуска диалогового окна рядом с полем Число.
  • В окне Категория выберите особый.
  • В списке Тип выберите Телефон число.

Как сделать деления в Экселе?

Деление чисел в ячейке

Для этого воспользуйтесь арифметическим оператором / (косая черта). Например, если ввести =10/5 в ячейке, в ячейке отобразится 2. Важно: Не забудьте ввести в ячейку знак равно(=)перед цифрами и оператором /.

Сколько чисел в номере?

В настоящее время в России полный телефонный номер состоит из 10 цифр. В случае, если номер географический, то, как правило, первые три цифры — код региона, далее идёт код населённого пункта (кроме нескольких крупных городов с 7-значным городским номером) и собственно городской номер.

Как правильно набрать номер телефона?

Для звонка на все номера, в том числе местные, набирайте номер в международном формате: + <код страны><код сети или города><номер телефона>.

Как на телефоне набрать 7?

+ (код страны) (код города) номер городского телефона. Для звонка в Россию: + 7 (код города) номер городского телефона или +7 номер мобильного телефона.

Как пишется номер +7?

Префикс «+7» объединяет символ выхода на международную связь и код России. Номер, начинающийся на «+7», может быть набран как внутри страны, так и из-за границы. Такое написание можно назвать универсальным, и именно ему следует отдавать предпочтение.

Как писать номер телефона со скобками?

Скобки в номерах телефона ставятся вокруг необязательной части номера. Подразумевается, что если я наберу только части за скобками, я попаду в нужную компанию. В случае с мобильным телефоном это не работает, даже если звонить внутри сети. Поэтому скобки не ставятся.

В каком формате пишется номер?

Формат знаков — 3 буквы, 3 цифры. Буквы означают серию номерного знака, а цифры — номер.

Что такое корректный номер телефона?

Это значит, что допустимо вводить только номера, начинающиеся на 375 и продолжающиеся кодом 24, 25, 29, 33, 44. Если вы видите надпись «Введите корректный номер телефона», то проверьте, пожалуйста, верный ли код мобильного оператора вы указали.

Как правильно указать номер телефона на визитке?

Оформление номера телефона. Мобильные имеют формат «8 911 123 44 55», а городские — «111 22 33». В скобках пишутся только необязательные для набора цифры (код города, например); 3.

Как правильно сложить номер телефона?

Номер телефона состоит из 11 цифр: код страны, мобильного оператора и личный номер абонента. Сложение всех чисел важно для тех, кто часто ездит в международные поездки или ведёт бизнес с иностранными партнёрами. Если не брать в расчёт код страны, то можно определить влияние номера на человека внутри государства.

Как правильно писать номер телефона в России?

Каждый телефонный номер включает несколько элементов: префикс страны (+7, 8), код города или мобильного оператора (495, 812) и основной номер (222-33-44).

Как правильно указать номер мобильного телефона в международном формате?

Например, если номер телефона в России (код страны «7») содержит код города «911» и номер телефона «ХХХ-ХХ-ХХ», то вы должны ввести его следующим образом: +7 911 ХХХ-ХХ-ХХ.

Ответить

Как разделить номер телефона

Из-за вашей работы вам приходится иметь дело с большим количеством телефонных номеров каждый день, и вы хотели бы получить несколько «советов» о том, как их читать и сообщать более простым способом, правильно разделяя их при диктовке или наборе текста? Что ж, я буду рад помочь вам и на этом этапе.

Если вы дадите мне несколько минут своего свободного времени, я могу объяснить как разделить номер телефона, чтобы вам было легче их запоминать, писать и диктовать. Просто имейте в виду несколько простых концепций, в некоторых случаях даже «тривиальных», которые я перечислю ниже.

Итак, я заинтриговал вас, а теперь вы хотите узнать больше? Фантастика! Сила и смелость: устройтесь поудобнее, уделите все необходимое время чтению следующих абзацев и, что наиболее важно, постарайтесь выполнить «советы», которые я вам дам. Мне больше нечего делать, кроме как желаю вам, как всегда, приятного чтения!

  • Как разделить номер телефона
    • Типы приставок
    • Как набрать номер

Индекс

  • 1 Как разделить номер телефона
    • 1.1 Типы приставок
    • 1.2 Как набрать номер

Как разделить номер телефона

Перейдем непосредственно к статье и рассмотрим подробнее как разделить номер телефона Сначала я покажу вам, как составляются телефонные номера, а затем дам несколько полезных «советов» о том, как их набирать.

Типы приставок

Помните о них типы префиксов ссылки на номера телефонов могут быть полезны, чтобы их можно было разделить и, следовательно, легче запомнить. Телефонные коды городов в основном делятся на две макро-категории: i международные префиксы y национальные префиксы.

EL международные префиксы обычно характеризуются двойной ноль, эквивалент символа + (больше), и вы должны ввести их, если вы звоните в другую страну. Если, например, человек хочет позвонить из-за границы в Италию, он должен поставить префикс перед номером для звонка. 0039 o +39, соответствующий международному префиксу Италии. В случае звонков между номерами в одной стране ввод международного префикса будет излишним. Международный префикс для большинства стран одинаков для стационарных и мобильных номеров.

лос национальный префикс, Ссылаясь на Стационарный телефон в Италии вместо этого он различает цифровой код, присвоенный PRTN (Генеральный план национальной телефонии), который разделил телефонную сеть страны на 21 отсеки, 232 района и хорошо 696 населенных пунктов. Каждый отсек включает в себя несколько районов, а несколько районов включают несколько локальных областей. Таким образом, в этом контексте национальный префикс используется для определения области происхождения определенной нумерации: это объясняет, почему первая часть телефонных номеров определенной географической области имеет один и тот же национальный префикс.

Что касается национальных префиксов мобильный телефон, они делятся в соответствии с их начальным номером, как показано на следующей диаграмме.

  • Начальный номер 00 — код доступа к международным префиксам.
  • Начальный номер 0 — географические номера для Италии, Сан-Марино и Ватикана.
  • Начальный номер 1 — используется для номеров государственных служб и экстренных служб ( 112 ; 113 ; 115 ; 117 es 118 ). В этой связи я хотел бы отметить, что в будущем только что упомянутые номера службы экстренной помощи будут постепенно заменяться единым номером службы экстренной помощи. 112, уже действующая по всему Европейскому Союзу;
  • Числа начиная с 199 или 178 — используется для оплаты услуг.
  • Начальный номер 3 — используется операторами мобильной связи, работающими на итальянском рынке.
  • Начальный номер 4 — используется коммунальными предприятиями (например, проверка остаточной кредитоспособности).
  • Начальный номер 5 — используется для нумерации и телефонной связи кочевников.
  • Начальный номер 7 — используется для услуг передачи данных ( 7 veces ) и доступ к Интернет ( 70 ) с дифференцированными ценами ( 702 ) или бесплатный звонок ( 700 ).
  • Начальный номер 8 — бесплатные и / или бесплатные номера ( 800/803 ), разделенные номера тарифов ( 84x, с максимальной ставкой 0,10 евро + местный тариф за минуту) и номера доплаты за информацию и для взрослых ( 89x, по максимальной цене 12,50 евро + НДС за каждый звонок).

Для получения дополнительной информации о том, как присваиваются номера телефонов в итальянской системе, я приглашаю вас ознакомиться с этим документом. PDF, присутствуют на сайте AGCOM (Орган по гарантиям связи).

Как набрать номер

Теперь, когда у вас есть хорошее представление о том, как формируется число, вы также готовы понять, как правильно его составить (хотя я уже частично объяснял это в предыдущей главе). Знать как набрать номер Как я уже говорил вам ранее, это может помочь вам запомнить это, а также легче читать, не поддаваясь «обману» многочисленными цифрами, из которых он состоит.

Как упоминалось выше, число обычно состоит из код страны + код страны + остальная часть номера. Поэтому, если вы хотите сделать звонок, вы должны ввести международный префикс (который варьируется от страны к стране и должен быть введен только при совершении международного звонка), за которым следует национальный префикс, а затем, в свою очередь, «тело» номер (напр. +39333 XNUMX ххх хх хх ).

Помните о приведенной выше схеме, чтобы запомнить числа. Еще одна вещь, которая также может вам помочь: разделить числа на части для удобного чтения.

Если, например, вы хотите легче запоминать номер 3331234567Вы можете легче запомнить это, отделив код страны от остальной части номера, а затем разделив оставшуюся часть нумерации на блок из трех цифр, а затем на два блока из двух цифр. При этом число «разложилось» на 333 123 45 67 Будет намного легче читать и, конечно же, запоминать.

Вопрос:

Как разбить номер мобильного телефона на код страны, код города и локальный номер?
например, +919567123456 после разделения

код страны = 91

код зоны = 9567

местное число = 123456

Лучший ответ:

Невозможно разобрать телефонные номера с помощью простого алгоритма, вам нужно использовать таблицы данных, заполненные правилами каждой страны, поскольку каждая страна по-разному отличает их номера телефонов.

Код страны довольно прост, просто используйте данные из Country calls codes в википедии и создайте таблицу всех уникальных коды стран. Каждая страна имеет уникальный префикс, поэтому легко.

Но тогда вам нужно искать правила для каждой страны, которую вы хотите поддерживать, и извлекать код зоны, используя правила для каждой страны.

Ответ №1

Не сохраняйте свою собственную таблицу всех этих данных! Используйте “Java International Phone Number Utilities library v3.0”, https://github.com/googlei18n/libphonenumber. Это то, что Google использует, и Google поддерживает его для вас!

Ответ №2

Как упоминалось разными людьми, вы не можете сделать это с помощью простого сопоставления строк. Длины ни страны, ни кода зоны не установлены.

Сделав это в прошлом, мы сохранили таблицу, похожую по структуре, на следующую: –

+------------+---------+-------+--------------+
|country_code|area_code|country|area          |
+------------+---------+-------+--------------+
|44          |1634     |UK     |Medway        |
|44          |20       |UK     |London        |
|964         |23       |Iraq   |Wasit (Al Kut)|
|964         |2412     |Iraq   |Unreal        |
+------------+---------+-------+--------------+

Затем мы рассчитали максимальную длину area_code и country_code и проверили строку путем подстроки, начиная с максимальной длины и пробираясь вниз, пока не найдем совпадение.

Так что дано число 441634666788

Мы бы начали с подстроки [1,7] (7 – длина самой длинной комбинации кода страны/региона), не нашли соответствия, затем перешли к [1,6] и нашли соответствие для Великобритании/Медвей.

Не очень эффективный, но он сработал.

EDIT

Вы также можете попробовать что-то подобное, но вам нужно будет протестировать его с полным набором данных или, возможно, даже разбить его на отдельные страны и код региона, так как это может быть не очень эффективно с выбранной вами БД.

 DECLARE @area_codes TABLE
(
country_code VARCHAR(10),
area_code VARCHAR(10),
country VARCHAR(20),
area VARCHAR(20),
match_string VARCHAR(MAX),
match_length INTEGER
)

INSERT INTO @area_codes VALUES ('44','1382','UK','Dundee', '441382%', 6)
INSERT INTO @area_codes VALUES ('44','1386','UK','Evesham', '441386%', 6)
INSERT INTO @area_codes VALUES ('44', '1', 'UK', 'Geographic numbers', '441%', 3)

DECLARE @number VARCHAR(MAX)
SET @number = '441386111111'

SELECT TOP 1 *
FROM @area_codes
WHERE @number LIKE match_string
ORDER BY match_length DESC

Вы должны поддерживать поля match_string и match_length через триггер, стараясь справиться с нулевыми кодами областей и индексировать таблицу в столбце match_string.

Ответ №3

Думаю, вам понадобится что-то вроде диктатора кода страны и региона. потому что стенд из них может иметь другую длину. США +1, Германия +49, даже +6723. То же самое с Areacodes..

Ответ №4

Ответ очень сильно зависит от страны. Нет универсального правила, говорящего “это код страны, это код области, это локальный номер”. Единственной информацией, которую можно получить повсеместно, является номер страны (и даже это может быть 1-4 цифры в длину); то вам необходимо проконсультироваться с определенным набором правил для стран.

Для примеров (например, “в разных странах есть много разных телефонных номеров, но все они следуют одному и тому же формату” ):

  • +420123456789 является (фиктивным) номером в Чешской Республике (код страны +420), а остальное – местным номером (в некоторых странах используется неразделенное пространство адресации, хотя вы можете сделать вывод о нескольких битах данных с первого -4 цифры локального номера (например, “+420800 – бесплатные номера” )). Итак, единственный полезный способ разобрать это число состоит из двух частей: +420 123456789.
  • +18005551234 – (возможно, также фиктивный) номер в США; в соответствии с североамериканский нумерационный план, +1 – код страны, 800 – код города (бесплатные номера), 555 – код обмена и 1234 – локальный номер. Затем вы можете разобрать число на четыре части, +1 800 555 1234.

Ответ №5

Если вы будете стремиться к точным данным в Великобритании, см. также http://code.google.com/p/ofcom-csverter/ для полного списка кодов Великобритании с исправлениями.

Ответ №6

Given no one else mentioned this, I would strip out all non-numeric characters from the number. Once done you can use a regex to easily get the numbers, this way any format is valid and pretty much no matter what the user enters you can format it how you want it:

$phone = preg_replace("~[^0-9]~", "", $phone);
preg_match('~([0-9]{3})([0-9]{3})([0-9]{4})~', $phone, $matches);

if (!empty($matches)) {
    $display = "<span id='telephone'><span class='spacer'>(" . 
                $matches[1] . ")</span>" . $matches[2] . "-" . $matches[3] . "</span>";
}else {
    $display = "An invalid phone number was entered.";
}

Should do it not matter how the phone number is entered as long as there are 10 digits.

UPDATE

You could also use the preg_replace technique with substr and forego the need for preg_match. This would actually be my preferred solution.

$phone = preg_replace("~[^0-9]~", "", $phone);

if (strlen($phone) == 10) {
    $display = "<span id='telephone'><span class='spacer'>(" . 
                substr($phone,0,3) . ")</span>" . substr($phone,2,3) . "-" . substr($phone,5,4) . "</span>";
}else {
    $display = "An invalid phone number was entered.";
}

Given no one else mentioned this, I would strip out all non-numeric characters from the number. Once done you can use a regex to easily get the numbers, this way any format is valid and pretty much no matter what the user enters you can format it how you want it:

$phone = preg_replace("~[^0-9]~", "", $phone);
preg_match('~([0-9]{3})([0-9]{3})([0-9]{4})~', $phone, $matches);

if (!empty($matches)) {
    $display = "<span id='telephone'><span class='spacer'>(" . 
                $matches[1] . ")</span>" . $matches[2] . "-" . $matches[3] . "</span>";
}else {
    $display = "An invalid phone number was entered.";
}

Should do it not matter how the phone number is entered as long as there are 10 digits.

UPDATE

You could also use the preg_replace technique with substr and forego the need for preg_match. This would actually be my preferred solution.

$phone = preg_replace("~[^0-9]~", "", $phone);

if (strlen($phone) == 10) {
    $display = "<span id='telephone'><span class='spacer'>(" . 
                substr($phone,0,3) . ")</span>" . substr($phone,2,3) . "-" . substr($phone,5,4) . "</span>";
}else {
    $display = "An invalid phone number was entered.";
}

Как разделить номер мобильного телефона на код страны, код региона и местный номер?
e.g +919567123456 после разделения

код страны = 91

код = 9567

местный номер = 123456

7 ответов


невозможно анализировать телефонные номера с помощью простого алгоритма, вам нужно использовать таблицы данных, заполненные правилами каждой страны, потому что каждая страна разграничивает свои телефонные номера по-разному.

код страны довольно прост, просто используйте данные из код вызова страны статья в Википедии и построить таблицу всех уникальных кодов стран. Каждая страна имеет уникальный префикс, так что это легко.

но тогда тебе нужно искать правила для каждой страны, которую вы хотите поддержать и извлечь код(ы) области, используя правила для каждой страны.


Не поддерживайте свою собственную таблицу всех этих данных! Используйте » Java International Phone Number Utilities library v3.0″, https://github.com/googlei18n/libphonenumber. Это то, что Google использует, и Google поддерживает его для вас!

47

автор: Kevin Bourrillion


Как уже упоминалось разными людьми, вы не можете сделать это с помощью простого сопоставления строк. Длины ни страны, ни коды не изменяются.

сделав это в прошлом, мы сохранили таблицу, аналогичную по структуре следующей : —

+------------+---------+-------+--------------+
|country_code|area_code|country|area          |
+------------+---------+-------+--------------+
|44          |1634     |UK     |Medway        |
|44          |20       |UK     |London        |
|964         |23       |Iraq   |Wasit (Al Kut)|
|964         |2412     |Iraq   |Unreal        |
+------------+---------+-------+--------------+

затем мы рассчитали максимальную длину area_code и country_code и проверили строку путем подвязки, начиная с максимальной длины и работая вниз, пока мы не нашли совпадение.

Так дали номер 441634666788

мы бы начали с подстроки[1,7] (7-Длина самой длинной комбинации кода страны/области), не нашли совпадения, затем перешли к [1,6] и нашли совпадение для UK/Medway.

не очень эффективно, но это сработало.

редактировать

вы также можете попробовать что-то вроде этого, но вам нужно будет протестировать его с полным набором данных или, возможно, даже разбить его на отдельный код страны и области выбирает, поскольку он может быть не очень эффективен с выбранным вами DB.

 DECLARE @area_codes TABLE
(
    country_code VARCHAR(10),
    area_code VARCHAR(10),
    country VARCHAR(20),
    area VARCHAR(20),
    match_string VARCHAR(MAX),
    match_length INTEGER
)

INSERT INTO @area_codes VALUES ('44','1382','UK','Dundee', '441382%', 6)
INSERT INTO @area_codes VALUES ('44','1386','UK','Evesham', '441386%', 6)
INSERT INTO @area_codes VALUES ('44', '1', 'UK', 'Geographic numbers', '441%', 3)

DECLARE @number VARCHAR(MAX)
SET @number = '441386111111'

SELECT TOP 1 * 
FROM @area_codes 
WHERE @number LIKE match_string
ORDER BY match_length DESC

вы будете поддерживать поля match_string и match_length через триггер, заботясь о том, чтобы справиться с нулевыми кодами области и индексировать таблицу в столбце match_string.


Я думаю, вам нужно что-то вроде словаря кода страны и региона. потому что Бут из них может иметь разную длину. США +1, Германия +49, даже + 6723. То же самое с Areacodes..


ответ очень сильно зависит от страны. Нет универсальная правило говорит: «это код страны, это код области, это местный номер». Единственная информация, которая может быть получена повсеместно, — это номер страны (и даже это может быть 1-4 цифры); затем вам нужно проконсультироваться с набором правил конкретной страны.

на примеры (например, » в данных странах есть много разных телефонных номеров, но все они следуют одному и тому же



очень сложная проблема. Сначала вам нужно определить код страны. В зависимости от кода страны, остальное должно быть разделено на код области и местный номер. Но ни одна из трех частей не имеет фиксированной длины, ни номер отверстия, ни код области и местной комбинации деталей!

пример: 4930123456789

  • 49-это код Германии
  • 30-это код Берлина
  • 123456789 местный номер в Берлин (не настоящий)

пример: 493328123456

  • 49-это код Германии
  • 3328-это код города Teltow
  • 123456-местный номер в Teltow (нет реального)

пример: 34971123456

  • 34-это код страны Испания
  • 971-это код города Майорка
  • 123456 местный номер на Майорке (не реальный)

У меня есть значение номера телефона, возвращаемое из API, и я пытаюсь разбить его значения на три части. Но номер телефона отформатирован таким образом, что трудно понять, как применить функцию .split, номер возвращается как (AAA) BBB-CCCC . Значение, которое мне трудно выделить, — это три средних числа для первого у меня это работает

phone.split(" ")[0] //returns AAA
phone.split("-")[1] // returns CCCC

Но я не могу взломать средние числа, не следует ли мне использовать .split для среднего значения?

2 ответа

Лучший ответ

Этого можно добиться с помощью сплита. Split () возвращает массив подстрок. Сначала вы разделяете строку с помощью разделителя пробела, а затем с помощью символа «-» в качестве разделителя.

let string = "(AAA) BBB-CCCC";
let desiredResult = string.split(" ")[1].split("-")[0];
console.log(desiredResult);


1

moraaaa
27 Окт 2020 в 19:01

Вы можете использовать простое регулярное выражение с String.match ()

var phoneNrParts = '(AAA) BBB-CCCC'.match(/((.*)) (.*)-(.*)/);

console.log('part 1: ', phoneNrParts[1]);
console.log('part 2: ', phoneNrParts[2]);
console.log('part 3: ', phoneNrParts[3]);

Или вы можете использовать String.split () < / a> с тем же регулярным выражением, что и выше, но, как упоминалось в комментариях, совпадение в этом случае лучше

var phoneNrParts = '(AAA) BBB-CCCC'.split(/((.*)) (.*)-(.*)/);

console.log('part 1: ', phoneNrParts[1]);
console.log('part 2: ', phoneNrParts[2]);
console.log('part 3: ', phoneNrParts[3]);

Узнайте больше о регулярном выражении здесь: https://regex101.com/r/No8at8/1


3

caramba
27 Окт 2020 в 19:07

Как упоминалось разными людьми, вы не можете сделать это с помощью простого сопоставления строк. Длины ни страны, ни кода зоны не установлены.

Сделав это в прошлом, мы сохранили таблицу, похожую по структуре, на следующую: —

+------------+---------+-------+--------------+
|country_code|area_code|country|area          |
+------------+---------+-------+--------------+
|44          |1634     |UK     |Medway        |
|44          |20       |UK     |London        |
|964         |23       |Iraq   |Wasit (Al Kut)|
|964         |2412     |Iraq   |Unreal        |
+------------+---------+-------+--------------+

Затем мы рассчитали максимальную длину area_code и country_code и проверили строку путем подстроки, начиная с максимальной длины и пробираясь вниз, пока не найдем совпадение.

Так что дано число 441634666788

Мы бы начали с подстроки [1,7] (7 — длина самой длинной комбинации кода страны/региона), не нашли соответствия, затем перешли к [1,6] и нашли соответствие для Великобритании/Медвей.

Не очень эффективный, но он сработал.

EDIT

Вы также можете попробовать что-то подобное, но вам нужно будет протестировать его с полным набором данных или, возможно, даже разбить его на отдельные страны и код региона, так как это может быть не очень эффективно с выбранной вами БД.

 DECLARE @area_codes TABLE
(
    country_code VARCHAR(10),
    area_code VARCHAR(10),
    country VARCHAR(20),
    area VARCHAR(20),
    match_string VARCHAR(MAX),
    match_length INTEGER
)

INSERT INTO @area_codes VALUES ('44','1382','UK','Dundee', '441382%', 6)
INSERT INTO @area_codes VALUES ('44','1386','UK','Evesham', '441386%', 6)
INSERT INTO @area_codes VALUES ('44', '1', 'UK', 'Geographic numbers', '441%', 3)

DECLARE @number VARCHAR(MAX)
SET @number = '441386111111'

SELECT TOP 1 * 
FROM @area_codes 
WHERE @number LIKE match_string
ORDER BY match_length DESC

Вы должны поддерживать поля match_string и match_length через триггер, стараясь справиться с нулевыми кодами областей и индексировать таблицу в столбце match_string.

Как разделить телефон

Разделить номер телефона для того, чтобы пользоваться им с разных устройств можно несколькими способами. Также возможны некоторые варианты и для абонентов сотовых операторов.

Как разделить телефон

Вам понадобится

  • — переходник для розетки.

Инструкция

Купите специальный переходник для телефонной розетки, предназначенный для использования телефонного номера на нескольких аппаратах. Вы можете найти их в хозяйственных магазинах, точках продаж бытовой техники и радиоэлектроники. При покупке руководствуйтесь имеющимися в розетке разъемами, они должны подходить под штекеры используемых вами телефонных аппаратов.

Вы также можете воспользоваться полной заменой розетки на вариант с уже встроенным разветвителем. Если вы не уверены, подойдут ли приобретаемые розетки к вашим устройствам, вытащите их кабели и покажите продавцу, после чего для вас подберут соответствующий переходник.

Если вы приобрели переходник для нескольких телефонов, установите его на вашу телефонную розетку, вставьте штекеры аппаратов в соответствующие разъемы, подключите их к источнику питания, если это необходимо и проверьте работу каждого из них. В случае, если вы купили новую телефонную розетку с несколькими разъемами, извлеките старую и закрепите положение новой при помощи специальных крепежных болтов, идущих в комплекте.

После этого аналогичным образом подключите телефонные аппараты. Настройте их соответственно прилагающейся инструкции, также проверьте, есть ли возможность использования только одного из телефонов во время разговора.

Если вы хотите использовать номер вашего мобильного телефона одновременно в качестве домашнего, подключите у обслуживающего вас оператора сотовой сети прямой номер, после чего он будет доступен на обоих аппаратах. В этом случае прослушка разговоров через параллельный телефон будет недоступна, но звонки будут поступать одновременно на оба устройства. Также вам будет доступен короткий номер телефона, который можно вводить без кода страны и кода сотового оператора.

Обратите внимание

Чаще всего разговоры в телефоне одной линии слышны для всех аппаратов.

Войти на сайт

или

Забыли пароль?
Еще не зарегистрированы?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Понравилась статья? Поделить с друзьями:
  • Как разблокировать фейсбук если номер телефона утерян
  • Как разблокировать удаленный номер телефона
  • Как разблокировать телефонный номер на телефоне
  • Как разблокировать телеграм если номер телефона заблокирован
  • Как разблокировать скрытый номер на телефоне самсунг