Подтвердить что ты не робот

Регулярное выражение Javascript для формата валюты

У меня есть это регулярное выражение /^\d(\d|\,\d{3}|,\d.+$)*$/

С данными моего образца:

100.00 - Not working :(
1,000.00 - Working
100,000.00 - Working
1,000,000.00 - Working

Примечание. Мне нужно указать ошибку, если результат 0.00

Любые идеи или предложения? Спасибо.

4b9b3361

Ответ 1

Возможно, вы можете использовать:

^(?!0\.00)\d{1,3}(,\d{3})*(\.\d\d)?$

Посмотрите, как он работает здесь.

Кроме того, если вы хотите запретить начальные нули, регулярное выражение будет:

^(?!0\.00)[1-9]\d{0,2}(,\d{3})*(\.\d\d)?$

Ответ 2

Вы можете использовать:

^\$?(?!0.00)(([0-9]{1,3},([0-9]{3},)*)[0-9]{3}|[0-9]{1,3})(\.[0-9]{2})?$

Он проверит

100.00 - да

1,000.00 - да

100 000,00 - да

1,000,000.00 - yes

0,00 - нет

Ответ 3

Версия символа

^([^\d\s]{1,}\s?[+-]?)(\d{1,3})(\,\d{3})*(\.\d{1,})?$

Будет проверять

  • 100 - НЕТ
  • 1,000.00 - NO
  • & -100,000.00 - ДА
  • ¥ -1,000,000.00 - YES
  • € 1.000 - ДА
  • € 100,000,00.7 - НЕТ
  • $0.00 - YES
  • R $1,000.00 - YES