BotaniQue
Новичок
Дата регистрации:
05.07.2012 14:34:46
Сообщений: 7
Здравствуйте!
У Михаила к видеокурсу "PHP и MySQL с нуля до гуру" в первом уроке об регулярных выражениях есть домашнее задание - придумать регулярное выражение для проверки даты в формате ММ.ДД.ГГГГ.
Вот как это получилось у меня:
<?php
$datecheck = "/[0-3][0-9]\.[0-1][0-9]\.19[0-9][0-9]/";
?>
Насколько корректно такое выражение, ведь оно не учитывает, например, високосные года и еще некоторые нюансы?
Как, все таки, правильно и в рабочем варианте написать такое выражение?
Спасибо большое за ответ.
(Алекс)
Эксперт
Дата регистрации:
21.06.2013 14:56:26
Сообщений: 114
У вас сначала месяц, а потом дата, поэтому правильно так:
"/[0-1][0-2]\.[0-3][0-1]\.19[0-9][0-9]/"
да и еще там не от 0 до 9, у нас нету ни месяца 13 ( как и 19), так и даты 39.
(Алекс)
Эксперт
Дата регистрации:
21.06.2013 14:56:26
Сообщений: 114
а так, вроде все нормально
BotaniQue
Новичок
Дата регистрации:
05.07.2012 14:34:46
Сообщений: 7
а Вы уверены, что этот вариант рабочий?
как тогда будет восприниматься такая строка
03.22.1999
Ведь первые два параметра не пройдут, или я ошибаюсь?
(Алекс)
Эксперт
Дата регистрации:
21.06.2013 14:56:26
Сообщений: 114
прошу прощения, невнимательно посмотрел :-(
да, вы правы
но все же первые два в вашем выражении, точно местами надо поменять
BotaniQue
Новичок
Дата регистрации:
05.07.2012 14:34:46
Сообщений: 7
Спасибо, уже поменял.