Как проверить процент до двух знаков после запятой с помощью регулярного выражения? - PullRequest
6 голосов
/ 14 сентября 2009

Существует ли регулярное выражение, которое будет проверять процентное значение с точностью до 2 знаков после запятой?

У меня есть регулярное выражение для двух десятичных знаков, но я не знаю, как остановить значения выше 100. Например, 100.01 подтверждено моим регулярным выражением.

Ответы [ 5 ]

9 голосов
/ 14 сентября 2009

В Perl:

/ (^ 100 (0 {1,2}) [.]?) $ | ([.]? ^ \ Д {1,2} (\ д {1,2})) $ / * * 1004

или вы можете просто добавить дополнительный, если точно сравнивать 100:)

1 голос
/ 18 апреля 2017

Это позволяет все проценты, кроме нуля.

^[1-9]{1}[0-9]?(?:\.\d{1,2})?$|^0\.\d{1,2}?$|100
0 голосов
/ 13 мая 2013

Попробуйте это (принимает все от 0 до 100, включая 0,00 и 100,00:

^(100\.00|100\.0|100)|([0-9]{1,2}){0,1}(\.[0-9]{1,2}){0,1}$
0 голосов
/ 14 сентября 2009

/ ^ (?: 100 (: 0 (: 0)) | \ d {1,2} (?.??.? \ D {1,2})) $ /

Работает с:

  • 100
  • 100,0
  • 100,00
  • 99,99
  • 0,01
  • 5

и т.д.

0 голосов
/ 14 сентября 2009

Попробуйте это:

\d{1,2}\.\d{2}

Это дает вам однозначное или двузначное число, за которым следуют ровно два десятичных знака. Если вы также хотите разрешить десятые доли (аля 10.1), попробуйте следующее:

\d{1,2}\.\d{1,2}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...