2015-07-09 2 views
2

Я пытаюсь получить строку регулярного выражения правильно, но я, похоже, не работаю так, как должен.Строка регулярного выражения: специфическое требование

У меня есть числовое поле, которое должно содержать 5 цифр. Цифры может начинаться только с 04xxx и 5xxxx

Эта строка не покрывает ее укомплектовать:

/[05][0-9][0-9][0-9][0-9]/ 

это вынуждает, чтобы начать с 0 или 5 с последующим 4-х цифр, но это позволяет, например

Любые идеи?

ответ

4

Попробуйте для шаблона регулярного выражения:

^(04|5\d)\d{3}$ 
+0

Это лучше использовать анкеры. Обратите внимание, что 'должно иметь 5 цифр' –

+0

@AvinashRaj Я согласен. Просто подумал, что я соглашусь с его оригинальным рисунком, который был без привязанности. – Bond

+0

только метод 'matches' делает эту вещь, есть ли? –

1

Это больше похоже на проверки -

^(?=04|5)\d{5}$

Expanded:

^    # BOS 
(?= 04 | 5) # Lookahead, starts with '04' or '5' 
\d{5}   # Match 5 digits 
$    # EOS 
Смежные вопросы