Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/88: Рейтинг темы: голосов - 88, средняя оценка - 4.61
1 / 1 / 0
Регистрация: 21.02.2017
Сообщений: 50

Проверка корректности ввода логина

22.02.2017, 21:56. Показов 18960. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать программу, которая будет проверять корректность ввода логина. Корректным логином
будет строка от 2-х до 10-ти символов, содержащая только буквы или цифры, и при этом цифра
не может быть первой.
а) без использования регулярных выражений;
б) **с использованием регулярных выражений
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.02.2017, 21:56
Ответы с готовыми решениями:

Проверка корректности ввода
Доброго времени суток! Есть несколько идейных моментов. Есть класс человек. Три поля-свойства(имя,фамилия ..) и другие. 1. Как...

Проверка корректности ввода данных
Нужно обеспечить контроль корректности ввода данных. using System; using System.Collections.Generic; using System.Linq; using...

Проверка корректности ввода IP-адреса
Здравствуйте. Подскажите пожалуйста как сделать проверку на корректность ввода Ip Adress. Чтобы нельзя было ввести например больше 255 и...

5
21 / 21 / 10
Регистрация: 13.08.2013
Сообщений: 295
22.02.2017, 22:48
C#
1
2
3
4
5
6
7
8
9
10
11
Regex login_regex = new Regex("^[a-zA-Zа-яА-Я][a-zA-Zа-яА-Я0-9]{2,9}$");
string source = "ivanov98";
 
if (login_regex.Match(source).Success) // если совпадение удачно
{
MessageBox.Show("Login is correct");
}
else
{
MessageBox.Show("Login is incorrect");
}
Без использования регулярок:
C#
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
string source = "ivanov98";
 
// Проверка на длину
if (source.Length < 2 || source.Length > 10)
{
    MessageBox.Show("Login is incorrect");
}
 
// Проверка первого символа на цифру
if (!Char.IsDigit(source[0]))
{
    MessageBox.Show("Login is incorrect");
}
 
bool correct = true;
 
for (int i = 0; i < source.Length; i++)
{
    if (!Char.IsLetterOrDigit(source[i])
    {
        correct = false;
        break;
    }
}
 
if (correct)
{
     MessageBox.Show("Login is correct");
}
else
{
    MessageBox.Show("Login is incorrect");
}
Можете обернуть функцию, выводя true/false
2
 Аватар для Andrew_Montana
49 / 45 / 41
Регистрация: 12.10.2014
Сообщений: 234
23.02.2017, 00:12
Лучший ответ Сообщение было отмечено Denarevsliy как решение

Решение

Цитата Сообщение от Denarevsliy Посмотреть сообщение
а) без использования регулярных выражений;
C#
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
 string login = "qwerty1234";
            // Проверка на лишние символы
            byte[] bytes = new byte[192];
            int kol=0;
            for(int i=0; i<47; i++)
            {
              bytes[kol] = (byte)i;
                kol++;
            }
            for(int i=58; i<64; i++)
            {
              bytes[kol] = (byte)i;
                kol++;
            }
            for(int i=91; i<96; i++)
            {
              bytes[kol] = (byte)i;
                kol++;
            }
            for(int i=123; i<255; i++)
            {
              bytes[kol] = (byte)i;
                kol++;
            }
           
            char[] chars = System.Text.Encoding.ASCII.GetChars(bytes);
            
            bool flag = false;
            
            foreach(var item in chars)
            {
             for(int i=0; i<login.Length;i++)
             {
                 if(login[i] == item)
                 {
                  flag = true;   
                 }
             }
            }
            
            //
            if(login.Length >= 2 && login.Length <= 10 && Char.IsDigit((char)login[0]) == false && flag == false)
                Console.WriteLine("Данный логин - {0}, вполне корректен", login);   
            else
                Console.WriteLine("Логин не корректен");
Добавлено через 1 час 23 минуты
Цитата Сообщение от grisha2217 Посмотреть сообщение
if (!Char.IsLetterOrDigit(source[i])
Я уж забыл про этот метод
1
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
23.02.2017, 01:27
C#
1
2
3
4
5
6
7
8
9
10
11
bool IsCorrectLoginWithRegex(string login)
{
    return Regex.IsMatch(login, @"^\p{L}\w{1,9}$");
}
 
bool IsCorrectLogin(string login)
{
    if (login.Length < 2 || login.Length > 10) return false;
    if (!char.IsLetter(login[0])) return false;
    return login.All(char.IsLetterOrDigit);
}
1
1 / 1 / 0
Регистрация: 21.02.2017
Сообщений: 50
23.02.2017, 17:32  [ТС]
б) **с использованием регулярных выражений

ни одно не хочет работать

Добавлено через 1 минуту
grisha2217, MessageBox не существует в текущем контексте
0
 Аватар для Andrew_Montana
49 / 45 / 41
Регистрация: 12.10.2014
Сообщений: 234
23.02.2017, 17:52
Цитата Сообщение от Denarevsliy Посмотреть сообщение
grisha2217, MessageBox не существует в текущем контексте
Вы в консоли?

Добавлено через 1 минуту
Подключите
C#
1
System.Windows.Forms;
Или замените на Console.Writeline...
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.02.2017, 17:52
Помогаю со студенческими работами здесь

Контроль корректности ввода возраста в консольном приложении
Помогите пожалуйста с задачкой: Постройте консольное приложение, в котором вводится возраст пользователя. Возраст должен отвечать...

Проверка корректности адреса ячейки MS Excel
Уважаемые коллеги! Делаю форму импорта данных из файла Excel в БД (MS Access). Для удобства пользователю предлагается выбрать несколько...

Виртуальные методы и их переопределение - проверка корректности реализации
Пожалуйста , кто шарит , скажите , я правильно сделал или нет ? Задание 1. В базовый класс добавить виртуальные методы; 2. В классах...

Проверка корректности введенного значения переменной типа char
Пользователь с клавиатуры вводит свой пол &quot;м&quot; или &quot;ж&quot;, если введено другое значение, то должно выводиться сообщение о некорректности...

Проверка логина и пароля
Я делал форму ригистрации и логина ) у меня не получилось сделать полную проверку логина и пароля. using System; namespace...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru