Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Регулярное выражение


Автор: m9yt 1.5.2011, 22:13
Всем привет. Есть диалоговое окно ввода данных(имя, телефон и т.д.). Нужно, чтобы в поле имя можно было вводить только русские и английские буквы.
Не получается реализовать.

Автор: diadiavova 1.5.2011, 22:20
[A-Za-zА-Яа-я]+

Автор: m9yt 1.5.2011, 22:39
Цитата(diadiavova @ 1.5.2011,  22:20)
[A-Za-zА-Яа-я]+

Код

 private void textBox1_Validating(object sender, CancelEventArgs e)
        {
            Regex re = new Regex(@"[A-Za-zА-Яа-я]+");
            if (!re.IsMatch(textBox1.Text))
            {
                errorProvider1.SetError(textBox1, "Введите фамилию");
                e.Cancel = true;
                return;
            }
            errorProvider1.SetError(textBox1, "");
        }

Не пашет. Или я что - то путаю.

Автор: diadiavova 1.5.2011, 22:58
Эмммм...точнее так это будет выглядеть полностью
Код

^[A-Za-zА-Яа-я]+$

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

Автор: m9yt 1.5.2011, 23:13
Цитата(diadiavova @ 1.5.2011,  22:58)
Эмммм...точнее так это будет выглядеть полностью
Код

^[A-Za-zА-Яа-я]+$

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

1г ввел, пропустило. А не должно.

Автор: diadiavova 1.5.2011, 23:20
Попробуй ввести в примере из аттача.

Автор: m9yt 1.5.2011, 23:36
Цитата(diadiavova @ 1.5.2011,  23:20)
Попробуй ввести в примере из аттача.

Спасибо, разобрался.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)