2016-12-13 2 views
0

Со ссылкой на мой предыдущий вопрос currency regexвалюты регулярное выражение с десятичной допускается с 0

Я хочу добавить условие, я хочу, чтобы десятичную только если она начинается с 0

например

0,25 следует допускаются 1,25 не допускается

тока регулярного выражения следующим образом

/^(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?$/ 

, который соответствует запятой отставая и т.д.

+0

Возможный дубликат [Проверка валидной валюты] (http://stackoverflow.com/questions/16242449/regex-currency-validation) –

+0

Возможно '^ (?! 0 * [1-9] [, \ d] * \. \ d) (?: \ d {1,3} (?:, \ d {3}) + | \ d +) (?: \. \ d +)? $ '. –

ответ

1

Это будет соответствовать всем валютам совпадает с раньше без десятичных знаков или знаков после запятой с 0.x *

/^((?:\d{1,3}(?:,\d{3})+|\d+)|(?:0\.\d+))$/ 

Если вы хотите, чтобы соответствовать 0.xx вместо произвольное количество знаков после запятой использовать

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

Это один меняет \d+, один или несколько цифр, чтобы \d{2}, ровно 2 цифры.

+1

regex всегда была болью для меня. вы можете объяснить второе регулярное выражение, которое я ценю заранее –

Смежные вопросы