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

У меня проблема с регулярным выражением проверки цены.

Мой шаблон не принимает значения , которые Я хочу , такие как:

  • 101.00
  • 110.00
  • 1000,00
  • 0,50

Мой шаблон принимает значения, такие как:

  • 1,00
  • 1,10
  • 1.11
  • 11.11

Прямо сейчас мой шаблон ^([1-9]+\.)(\d{2})$.

Желаемое регулярное выражение не должно принимать нулевые значения, например, 0.00 или 0.

Ответы [ 2 ]

1 голос
/ 14 ноября 2019

Выражение /^(0\.(?!00)|(?!0)\d+\.)\d\d$/ удовлетворяет всем вашим требованиям (пока). Кажется, проще рассматривать случаи 0.x и yz как две альтернативы.

1 голос
/ 06 ноября 2019

Попробуйте

/^(?!0.00)(\d+\.)(\d\d)$/

[
  '0','0.00',
  '101.00','110.00','1000.00','0.50',
  '1.00','1.10','1.11','11.11'
].map(x=>
  console.log( x, /^(?!0.00)(\d+\.)(\d\d)$/.test(x) )
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...