Suren97 Ответов: 3

C# как проверить, содержит ли текстовое поле числа?


например, у меня есть имя текстового поля, и,конечно, я не могу написать в нем число, потому что имя не может быть числом, как я могу его проверить?

Что я уже пробовал:

string alph = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";
            if (!textBox1.Text.Contains(alph))
            {
                
                MessageBox.Show("This field only for letters", "Name");
                
            }

3 Ответов

Рейтинг:
23

OriginalGriff

Во-первых, имена могут содержать что угодно: "Джон Хендерсон-Аллан" - это допустимое имя. Так же как и "StopFortnumAndMasonFoieGras Cruelty.com" и "Brfxxccxxmnpcccclllmmnprxvclmnckssqlbb11116" - так что вы не должны запрещать что-либо конкретное из имени, так же как вы не должны запрещать любое из них "!#$%&'*+-/=?^_`{|}~" с адреса электронной почты.

Но чтобы ограничить текстовое поле только прописными и строчными буквами, просто используйте регулярное выражение:

Regex regex = new Regex("^[a-zA-Z]+$");
bool hasOnlyAlpha = regex.IsMatch(myTextBox.Text);


Suren97

Спасибо :)

OriginalGriff

Всегда пожалуйста!

Рейтинг:
16

dkamble 10358990

Не разрешайте пользователю вводить число в текстовое поле с помощью javascript или регулярного выражения
Системы.Текст.RegularExpressions.Регулярное выражение.Выполняется(текстовое поле textbox1.Текст, "[ ^ 0-9]")


Suren97

Спасибо :)

Рейтинг:
1

Member 14791810

Dim testVar As Object = Tele.Text
Дим numericCheck как логическое
numericCheck = IsNumeric(testVar)
Если numericCheck = True, то
Еще
Телек.Текст = ""
Конец, Если