2013-09-10 3 views
1

Возможно, кто-нибудь поможет мне написать регулярное выражение JavaScript? Мне нужно написать поле, которое позволит примеры следующие:Регулярное выражение для валютного поля

£ 1, £ 1,00, 1p

Я не хочу, чтобы это позволить вир вместе. Я также не хочу, чтобы он допускал более 1 десятичного знака. До сих пор у меня было следующее:

/^(\u00A3)?([0-9\.]+)p?$/ 

Это не работает на 100% точно. Любая помощь или руководство будут действительно оценены. Благодаря

ответ

2

Вы можете попробовать это регулярное выражение:

^(?:\u00A3([0-9]+(?:\.[0-9]{1,2})?)|[0-9]+p)$ 

regex101 demo

Это позволит до 2DP на фунты. Если вы хотите, чтобы позволить больше, просто использовать + вместо:

^(?:\u00A3([0-9]+(?:\.[0-9]+)?)|[0-9]+p)$ 

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

^(?:\u00A3([0-9]+(?:\.[0-9]{1,2})?)|[0-9]+(?:\.[0-9]{1,2})?p)$ 
+0

Это потрясающая помощь - спасибо! и отличный сайт. Я обязательно буду использовать это – 30secondstosam

+0

@ 30secondstosam Добро пожаловать! Если вы хотите, чтобы что-то еще было связано с вашим вопросом, я буду рад помочь :) – Jerry

+0

Еще одна вещь @Jerry - как я могу позволить символу £ быть необязательным? это добавление вопросительного знака после u00A3? Спасибо – 30secondstosam

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