2013-12-11 3 views
0

мне нужно регулярное выражение для предложения типа:Регулярного выражения условно с JQuery

1: 99.99.99

2: 99.99.99,99

Запятая не является обязательной, и если дано оно должно иметь 1 или 2 цифры после этого. У меня есть это регулярное выражение, которое соответствует первому предложению, но не совпадает с вторым:

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

ответ

1

Попробуйте

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

Лучше ехр:

(,[0-9]{1,2})? 

[0-9]{1,2} любые номера Шифрование до предела 2
(,?[0-9]{1,2})? вся эта группа Шифрование до предела 1

+0

Не, что позволит им добавить 1 или 2 дополнительных номера на конце без запятой? – M21B8

+0

@ M21B8 вы правы, я все еще не понимаю смысла. Позвольте мне исправить это. – Praveen

1

попробовать это:

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

(тестировался, списанный в верхней части моей головы)

редактирования: был случайные $ в середине

1

Вы можете использовать следующее.

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

См Live demo

Регулярное выражение:

^    the beginning of the string 
(?:    group, but do not capture (2 times): 
[0-9]{1,2}  any character of: '0' to '9' (between 1 and 2 times) 
\.    '.' 
){2}   end of grouping 
[0-9]{1,2}  any character of: '0' to '9' (between 1 and 2 times) 
(?:   group, but do not capture (optional) 
    ,   ',' 
    [0-9]{1,2} any character of: '0' to '9' (between 1 and 2 times) 
)?    end of grouping 
$    before an optional \n, and the end of the string 
Смежные вопросы