Я пытаюсь создать регулярное выражение для следующих требований:
- Минимум 10 цифровых символов
- максимум 15 цифровых символов
- Разрешить от 0 до 5 дефисов в любом месте строки
У меня есть следующее регулярное выражение, но оно превышает требование к 15 числовым символам, если нет дефисов:
/^([0-9]{10,15}|(?=[-]*)[0-9-]{11,19})$/
Спасибо.
[^-]*
перед первым$
; как видите, это работает, хотя и не должно (?) быть необходимым. Мысли? 07.12.2010^
до$
, и если нет дефисов, то ему больше нечего сопоставлять со строкой. Вот почему нужен\d*
(или[^-]*
). 07.12.2010