RegularExpression - положительное целое число с 1 десятичной точкой - PullRequest
1 голос
/ 27 сентября 2011

Не получается получить правильный синтаксис для выражения RegularExpression, использующего C #, чтобы разрешать только положительные числа с точностью до 1 десятичной точки.

У меня есть следующие DataAnnotation для работающих натуральных чисел:

[RegularExpression(@"[^\-][\d\.]*", ErrorMessage = "Positive integers only")]  

Есть советы?

Ответы [ 4 ]

4 голосов
/ 27 сентября 2011

Вы хотите ^\d+(\.\d)?$.

2 голосов
/ 27 сентября 2011
[RegularExpression(@"^\d+(\.\d)?$", ErrorMessage = "Positive integers only")]
1 голос
/ 27 сентября 2011

Я предлагаю ^(0|[1-9]\d*(\.\d)?)$. Таким образом, вы также исключаете такие вещи, как 0001.

0 голосов
/ 27 сентября 2011

Вы можете попробовать @"^\d+([.]\d?)?$"
"." является специальным символом и должен быть экранирован, в противном случае ответ SLaks будет в порядке.

...