2013-08-13 3 views
3

Мои пользователи вводят некоторые цифры в текстовое поле. Формат чисел: 09XXXXXXXXX. Числа разделяются запятой. как 09121234567,09351234568. Я использую регулярное выражение ниже, чтобы проверить ввод пользователя.Регулярное выражение для проверки шаблона ввода пользователя

^(09\d{9},?)+ 

Все нормально, но проблема в том, что если я вхожу 0912123456709351234568 он все еще соответствует этому регулярному выражению. Я хочу, чтобы пользователь вводил хотя бы одно число без запятой, но если числа более одного, то он должен быть разделен запятой. Какое правильное регулярное выражение?

ответ

5

Попробуйте эту схему ниже,

^(09\d{9})(,09\d{9})*$ 

enter image description here

3

Вы можете использовать этот шаблон:

^(09\d{9}(?:,|$))+$ 

Так в основном, 09\d{9} может сопровождаться запятой или конца строки, и все это должно быть прекращено в конце строки.

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

^(?:(09\d{9})(?:,|$))+$ 
Смежные вопросы