Я использую шаблон ^\d*\.?\d{0,2}$ для отображения валюты, например он позволяет только разрешать числа перед необязательной десятичной точкой и два десятичных знака после десятичной точки.

В целях локализации мне нужно иметь возможность разрешить использование запятой вместо запятой и десятичных запятых вместо запятых для чисел в тысячах, например, € 123,123,00 вместо € 123 123,00.

Я думал, что это будет так же просто, как заменить . в \.? на ,, но, похоже, это не сработает.

-2
NeedsHelp 24 Апр 2017 в 12:30

2 ответа

^\d*\,?\d{0,2}$ Это прекрасно работает для меня. Я протестировал его с 123,00 на https://regex101.com/.

0
DannehDub 24 Апр 2017 в 09:37

[/.,] проверит, есть ли точка ИЛИ запятая без [] вы просто проверьте, если это потом

0
Tofuun 24 Апр 2017 в 09:35