Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 09.02.2020
Сообщений: 73
.NET 4.x

Принять у пользователя номер телефона и вывести оператора , которым он пользуется

23.01.2021, 16:20. Показов 2954. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите как это сделать. я примерно представляю но не понимаю как сделать что б определяло числа которые будут "код оператора"
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.01.2021, 16:20
Ответы с готовыми решениями:

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

Вывести на экран код города и номер телефона в другом городе для телефонных разговоров состоявшихся с телефона 235678 8 марта 1996 года
Справка о междугороднем телефонном разговоре содержит: номер телефона абонента (6 цифр), дату (год, месяц, день), время (час, минута), код...

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

12
619 / 399 / 187
Регистрация: 28.11.2019
Сообщений: 867
23.01.2021, 16:35
Для начала определитесь, в каком формате вы будете принимать номер телефона.
0
 Аватар для limeniye
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
23.01.2021, 16:39
Danny_BN25, а коды операторов заранее известны?
Если нет, то Вам нужно будет отправлять HTTP запрос какой-то, который вернёт название оператора.
Если операторы известны заранее, то нужно ещё и определять код страны.
Например
+380680045371 — это украинский формат
+77476738701 — это, к примеру, Казахстан.

Суть в том, что у Украины первые 3 цифры — код страны, потом две цифры — оператор, а у Казахстана по другому. В этом будет заключаться вся сложность, как по-моему.
Если же Вы говорите про то "как вытащить данные из string"? То тут Вам нужен Regexp.
Но в Вашей задачи, как по-моему, можно и даже нужно обойтись без него. Например:
у нас доступны 2 страны: Россия и Украина, пользователь ввёл "380686653240", мы берём первое число
C#
1
2
3
string nomber = "380686653240";
if(nomber[0] == "3")
    Console.WriteLine("Это Украина");
В данном примере я вычислил страну. По точно такому же принципу мне осталось вычислить оператора, потому что у Украины код оператора — это 3-я и 4-я цифра.
C#
1
2
3
string nomber = "380686653240";
if(nomber[0] == "3")
    Console.WriteLine("Это Украина. Код оператора: " + number[2] + number[3] );
1
0 / 0 / 0
Регистрация: 09.02.2020
Сообщений: 73
23.01.2021, 16:48  [ТС]
Цитата Сообщение от limeniye Посмотреть сообщение
Код оператора: " + number[2] + number[3]
просто задача вывести имя оператора
страну то мы определили, а как оператора
0
 Аватар для limeniye
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
23.01.2021, 17:00
Danny_BN25, сомое простое — создать "словарь". Если у Вас 2 страны — создайте 2 словаря.
C#
1
2
3
4
5
6
7
Dictionary<string,string> operatorsUkraine = new Dictionary<string, string>();
operatorsUkraine.Add("68","Киевстар");
operatorsUkraine.Add("66", "MTS"); 
 
string nomber = "380686653240";
if(nomber[0] == "3")
    Console.WriteLine("Это Украина. Код оператора: " + operatorsUkraine[nomber[2] + nomber[3] ] .Value); //выведет Киевстар
1
619 / 399 / 187
Регистрация: 28.11.2019
Сообщений: 867
23.01.2021, 17:08
limeniye,
Цитата Сообщение от Danny_BN25 Посмотреть сообщение
Принять у пользователя номер телефона
А если пользователь введет вот так: +7(980)-123-45-67, или еще как-то. Я поэтому и писал, что для начала нужно определиться с форматом. Либо прогонять через regex, если формат произвольный. Да и в любом случае нужно проверять валидность ввода, мало ли юзер введет буквы.
0
 Аватар для limeniye
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
23.01.2021, 17:12
тут всё просто и способов много.
C#
1
2
3
string a = "aaa123bbb";
int value;
int.TryParse(string.Join("", a.Where(c => char.IsDigit(c))), out value);
0
0 / 0 / 0
Регистрация: 09.02.2020
Сообщений: 73
23.01.2021, 17:13  [ТС]
Цитата Сообщение от limeniye Посмотреть сообщение
создать "словарь"
ну да. как я до этого не додумался. код оператора это "ключ", а имя это "значение".
0
 Аватар для limeniye
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
23.01.2021, 17:14
randok, но задача у него друга.
0
0 / 0 / 0
Регистрация: 09.02.2020
Сообщений: 73
23.01.2021, 17:18  [ТС]
Цитата Сообщение от randok Посмотреть сообщение
введет вот так: +7(980)-123-45-67
таких извращенцев еще поискать. все обычно как проще пытаются писать
0
619 / 399 / 187
Регистрация: 28.11.2019
Сообщений: 867
23.01.2021, 17:29
Цитата Сообщение от Danny_BN25 Посмотреть сообщение
таких извращенцев еще поискать. все обычно как проще пытаются писать
Если вы какой-то сервис делаете, то считайте, что приходить будут любые данные, и вам нужно сделать защиту от дурака, коих много. Человек может описаться, может вводить в привычной ему форме, со скобочками, дефисами, плюсами.
0
 Аватар для limeniye
1182 / 624 / 160
Регистрация: 19.04.2018
Сообщений: 2,923
23.01.2021, 18:44
Лучший ответ Сообщение было отмечено Danny_BN25 как решение

Решение

Не по теме:

randok, пфф)
99% что это просто консольное приложение задал преподаватель.
Почему? Потому что если кто-то захочет сделать сервис, то такие элементарные вопросы вряд ли будет задавать.
Я думаю он просто студент.



Добавлено через 40 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        static void Main(string[] args)
        {
            Dictionary<string, string> operatorsUkraine = new Dictionary<string, string>();
            operatorsUkraine.Add("68", "Киевстар");
            operatorsUkraine.Add("66", "MTS");
 
            string number = "380686653240";
            string code = number[3].ToString() + number[4].ToString();
            
            if (number[0].ToString() == "3")
                Console.WriteLine("Это Украина. Код оператора: " + operatorsUkraine[code]);
 
            Console.ReadLine();
        }
0
0 / 0 / 0
Регистрация: 09.02.2020
Сообщений: 73
23.01.2021, 18:49  [ТС]
limeniye, большое спасибо. дальше разберусь) как принимать и добавлю операторов и кодов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.01.2021, 18:49
Помогаю со студенческими работами здесь

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

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

Telebot, как получить id пользователя зная его номер телефона
Привет, как найти id пользователя у которого установлен телеграмм и я знаю его номер телефона и используя telebot. В случае с вебкой это...

Как автоматически получить номер телефона пользователя на мобильном сайте?
Как автоматически получить номер телефона пользователя на мобильном сайте?

Структуры (cведения об абонентах АТС: ФИО владельца телефона, год установки телефона, номер телефона, тип установки телефона, льгота)
Сведения об абонентах АТС. Структура должна содержать следующую информацию: фамилию, имя, отчество владельца телефона, год установки ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru