2010-07-06 2 views
1

У меня есть одна веб-страница, на которой есть одно текстовое поле для получения значения в долларах. Мое требование - пользователь должен вставить цифру, следующую за $ sysmbol. И второе требование заключается в том, что пользователь имеет разрешение на вставку только как 123,45 долларов США. Перед десятичной точкой оно не должно превышать трех цифр, а после десятичной точки оно не должно превышать двух цифр. Пожалуйста, помогите мне, предоставив соответствующее регулярное выражение для подтверждения этого значения. Спасибо заранее.

+1

является '$ 12' действует? – Eric

ответ

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

или

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

, если вы хотите, чтобы заставить последнего десятичного иметь 2 цифры

3

Try:

\$\d{1,3}(\.\d{1,2})? 

\ $ = доллар, избегали, так как это специальный символ
\ d = цифрой; {1,3} = от 1 до 3 повторений
()? = необязательная группа:
\. = точка (экранированная) \ d {1,2} = одна или две цифры

Для воспроизведения регулярных выражений (и их проверки) вы можете использовать Expresso или аналогичный инструмент.

+1

Если вы не хотите, чтобы после или после использования валюты существовали вещи ^ \ $ \ d {1,3} (\. \ D {1,2})? $ – Marks

+0

$ .59 не было бы действительной суммой с это регулярное выражение. Я знаю, что я часто сбрасываю 0 с самого начала, и я буду раздражен, если мне придется его вставить. – I82Much

+0

@ I82Much: Я думаю, что из вопроса, похоже, требуется хотя бы одна цифра; кстати, мне было бы досадно, что нужно положить $ впереди суммы ... –

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