Владислав
Владислав

Регулярные выражения времени для php

Помогите, пожалуйста, составить функцию для проверки строки с датой на корректность, то есть например в функцию datetimecheck($string) подается строка, а она возращет true если время в строке в формате "YYYY-MM-DD HH:MM:SS" false в противном случае, так же было бы не плохо если нельзя было вводить 13 месяц 61 минуту и так далее

ДС
Дмитрий Сидоров

$pattern = '/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/';
$string = 'your date'
preg_match($pattern, $string, $matches) <- вернет тру / не тру в зависимости от валидности строки.
если строка валидна в $matches будет массив со всеми элементами строки. а дальше проверяй на нужные условия.

Сергей Кузьмин
Сергей Кузьмин

так
$datetime = '2013-12-31 12:59:59';
print datetimecheck($datetime);

function datetimecheck($datetime = ''){
if(!preg_match('~^\d{4}-(1[012]|0[1-9])-([012][0-9]|3[01])\s([01][0-9]|2[0-4])\:([0-5][0-9]|60)\:([0-5][0-9]|60)$~',$datetime))
return false;
return true;
}

Похожие вопросы
Регулярные выражения
PHP регулярное выражение
Регулярное выражение
Помогите составить правильно на PHP Регулярные выражения
PHP регулярные выражения: какие символы экранировать? Нужно ли экранировать } и ;
PHP регулярные выражения
функция замены php регулярные выражения
[php] Регулярные выражения
php и регулярные выражения. помогите пожалуйста. проверка на английские буквы.
Вопрос по регулярным выражениям в PHP