Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 03.06.2012
Сообщений: 93
1

Запрет ввода всего кроме русских букв

14.12.2014, 15:00. Показов 2467. Ответов 9
Метки нет (Все метки)

Как запретить ввод в консоль всего кроме русских букв? Помогите, пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2014, 15:00
Ответы с готовыми решениями:

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

Запрет ввода букв в консоли
Ну например на форме это делается так: private void textbox_KeyPress(object sender,...

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

Запрет ввода всего кроме положительных цифр
Пожалуйста, помогите разобраться. Необходимо разрешить ввод только чисел (положительных). в коде:...

9
foo();
883 / 585 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
14.12.2014, 15:15 2
my__life, тут только через ReadKey извращаться
0
Master of Orion
Эксперт .NET
6079 / 4935 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
14.12.2014, 15:55 3
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
using System;
using System.Text;
 
namespace ConsoleRusOnly
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = ReadLineOnlyRus();
 
            Console.WriteLine(s);
        }
 
        private static string ReadLineOnlyRus()
        {
            var sb = new StringBuilder(Console.BufferWidth);
            while (true)
            {
                var key = Console.ReadKey(true);
                if (key.Key == ConsoleKey.Enter)
                {
                    Console.WriteLine();
                    return sb.ToString();
                }
                if (key.Key == ConsoleKey.Backspace)
                {
                    Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop);
                    Console.Write(' ');
                    Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop);
                    sb.Remove(sb.Length - 1, 1);
                }
                else if (key.KeyChar >= 'а' && key.KeyChar <= 'я' || key.KeyChar >= 'А' && key.KeyChar <= 'Я')
                {
                    sb.Append(key.KeyChar);
                    Console.Write(key.KeyChar);
                }
            }
        }
    }
}
1
59 / 16 / 11
Регистрация: 01.11.2014
Сообщений: 100
14.12.2014, 21:19 4
rattrapper, я вот начинаю разбираться в регулярных выражениях, хочу спросить на счет реализации решения этой задачи с помощью оных.
0
Master of Orion
Эксперт .NET
6079 / 4935 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
14.12.2014, 21:27 5
msg_kurt, немного бояна в тему
3
Миниатюры
Запрет ввода всего кроме русских букв  
foo();
883 / 585 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
14.12.2014, 22:50 6
Цитата Сообщение от msg_kurt Посмотреть сообщение
я вот начинаю разбираться в регулярных выражениях
Отлично!
Цитата Сообщение от msg_kurt Посмотреть сообщение
хочу спросить на счет реализации решения этой задачи с помощью оных.
Nope Regex здесь вообще ни при чем. Тем более, Вам уже предложили удачную реализацию
1
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
15.12.2014, 01:11 7
Цитата Сообщение от rattrapper Посмотреть сообщение
Тем более, Вам уже предложили удачную реализацию
Реализация как раз таки и не совсем удачная, не учли букву Ё.
Цитата Сообщение от msg_kurt Посмотреть сообщение
я вот начинаю разбираться в регулярных выражениях, хочу спросить на счет реализации решения этой задачи с помощью оных.
C#
1
2
while (true)
    Console.WriteLine(Regex.IsMatch(Console.ReadLine(), "[^А-яа-яЁё]") ? "false" : "true");
1
Master of Orion
Эксперт .NET
6079 / 4935 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
15.12.2014, 01:18 8
maxillion, ну во-первых доделать для "Ё" не проблема:
C#
1
2
3
4
5
                else if (key.KeyChar >= 'Ё' && key.KeyChar <= 'ё')
                {
                    sb.Append(key.KeyChar);
                    Console.Write(key.KeyChar);
                }
ну а во-вторых ваш код делает не то, что вы просили изначально значит вопрос некорректный.
0
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
15.12.2014, 01:23 9
Цитата Сообщение от Psilon Посмотреть сообщение
ну а во-вторых ваш код делает не то, что вы просили изначально
Я здесь нечего не просил. А тот вариант это лишь пример, а не готовый ответ.
0
Master of Orion
Эксперт .NET
6079 / 4935 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
15.12.2014, 01:27 10
maxillion, перепутал с ТСом, бывает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2014, 01:27

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Запрет ввода русских букв....
Ребят подскажите как сделать запрет на использование русских букв в консоли, т.е если вводишь...

Запрет ввода всех букв и цифр кроме некоторых в StringGrid
Допустим есть 4 слова: красный, синий, зелёный, белый. От каждого слова мне надо отсечь по первой...

Запрет ввода в Edit русских символов (D7)
Здравствуйте, подскажите пожалста как ограничить ввод русских символов в поле edit для ввода...

Запрет ввода в TextBox русских символов
Ребят подскажите пожалуйста кто знает как на веб-форме в ASP.NET запретить ввод русских символов...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.