Regex принимает только числовые. Первый символ не может быть 0

У меня есть текстовое поле, которое я создал с помощью .NET ..

Используя это текстовое поле, пользователь может вводить только цифры. Но не начинайте с 0. Начните с 1-9. после того, как пользователь вводит 1-9 в первом символе, пользователь может ввести 0.

Regex reg = null;
reg = new System.Text.RegularExpressions.Regex("^[1-9][0-9]*$")
return reg.IsMatch(str);

Это мое выражение регулярного выражения. Используя это, я не могу ввести 1-9. но только 0 и алфавит. Но если я использую ^ [1-9], я могу ввести цифру, но не могу ввести 0.

Я уже попробовал все ответы, которые вы все предлагаете. Но все еще не может работать. Не то чтобы я не прочитал весь ваш ответ.

вот картинка ..

Я хочу проверить в первый раз, пользователь может ввести только цифру, но начать со значения, которое не 0 или алфавит, а 1-9. После первого символа пользователь может ввести только 0-9.

я использую Int.TryParse, но я использую его после нажатия кнопки для обработки.

reg = new System.Text.RegularExpressions.Regex("^[^0-9]");

это регулярное выражение принимает только числовые от 0 до 9.

reg = new System.Text.RegularExpressions.Regex("^[^1-9]");

это регулярное выражение принимает только числовые от 1 до 9.

Как я могу добавить больше выражений в регулярное выражение для второго символа, пока остальные, которые принимают только цифры 0-9?

Кстати, мне плевать на 0,99, потому что здесь цена фиксированная. не с 0,99 или 0,123 ..

Есть ли другой способ сделать это? Благодарю.

Ответы на вопрос(4)

Ваш ответ на вопрос