Как я могу создать регулярное выражение, чтобы сопоставить шаблон мм / дд с допустимыми диапазонами? - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь создать поле даты, которое позволяет пользователям вводить дату только как:

mm/dd

Я также хотел бы добавить, что mm может иметь только диапазон 01-12, а dd может иметь только диапазон 01-31

.

Я начал с этого:

<input type="tel" autocomplete="off" autocorrect="off" name="myInput" autocapitalize="none" spellcheck="false" pattern="\d{1,2}/\d{1,2}/" maxlength="5" placeholder="MM/DD">

Который работает для проверки mm/dd, но я могу ввести любой диапазон чисел. Мне нужно убедиться, что mm может быть только действительными номерами месяцев (1-12). Так же, как dd могут быть только действительные номера дня. (1-31)

Я использую маскирование ввода, чтобы убедиться, что пользователь автоматически получает символ "/" и может ввести не более 5 символов.

Вот цель, которую я пытаюсь достичь:

Please enter a month (01-12) and a day (01-31)

Спасибо за любые предложения!

1 Ответ

0 голосов
/ 11 мая 2018

Regex:

^(?:0[1-9]|1[012])\/(?:0[1-9]|[12][0-9]|3[01])$ 

Обратите внимание, что это соответствует нескольким недействительным датам, таким как 02/30, 02/31

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...