Все ленты — последние статьи

Проверка ввода времени

Главная » Уроки PHP » Проверка ввода времени.
PHP урок № 180
24-х часовой формат
Проверка правильности ввода времени, не совсем проста, в виду того, что разряды времени, которые определяют час имеют разную структуру. В смысле, время может быть представлено по разному, ниже варианты:

9:59 pm
9:59 am
21:59
09:59
9.59 pm
9.59 am
21.59
09.59

 

Это примерно варианты, которые чаще всего используются, хотя тоже смотря где и кем, ну то же не суть. Можно было бы ещё добавить секунды, но они впрочем идентичны проверки минут в шаблоне, так что это домашнее задание )), так сказать для лучшего усвоения материала.

Листинг № 1 — Функция — проверки ввода времени по шаблону чч:мм (24 часа)
<?php

// Функция проверки правильности ввода формата времени 24 часа
function chas_minuts($text)
{

// $ok примет значение TRUE, если формат даты верен
$ok = preg_match('/^([01]?[0-9] 2[0-3])(: .)[0-5][0-9]$/', $text);
if(!$ok)
{
return $kn = exit("Формат ввода время ($text) — не верен.
Следует вводить "ЧЧ:ММ" или "Ч:ММ" или "Ч.ММ" или "ЧЧ.ММ"");
}
return $text;
}
?>

Листинг № 2 — Полностью страница с формой ввода времени, обработчиком и выводом на экран результата (24 часовой формат).
<?php

// Функция проверки правильности ввода формата времени 24 часа
function chas_minuts($text)
{

// $ok примет значение TRUE, если формат даты верен
$ok = preg_match('/^([01]?[0-9] 2[0-3])(: .)[0-5][0-9]$/', $text);
if(!$ok)
{
return $kn = exit("Формат ввода время ($text) — не верен.
Следует вводить "ЧЧ:ММ" или "Ч:ММ" или "Ч.ММ" или "ЧЧ.ММ"");
}
return $text;
}

// Обработчик формы
if($_POST['btn'] == "Отправить")
{
$clock = chas_minuts($_POST['clock']);
}


?>
Введите время:
<form action="" method="post">
<input name="clock" type="text">
<input name="btn" type="submit" value="Отправить">
</form>
<p></p>


<?php

// Выводим на монитор
echo $clock

?>


12 часовой формат

Листинг № — Полностью страница с формой ввода времени, обработчиком и выводом на экран результата. (12 часовой формат)
<?php

// Функция проверки правильности ввода формата времени 12 часавой
function chas_minuts($text)
{

// $ok примет значение TRUE, если формат даты верен
$ok = preg_match('/^(1[012] [1-9] 2[0-3])(: .)[0-5][0-9] (am pm)$/', $text);
if(!$ok)
{
return $kn = exit("Формат ввода время ($text) — не верен. <br>
Следует вводить: "Ч:ММ am" или "Ч.ММ am" или "Ч:ММ pm" или "Ч.ММ pm"");
}
return $text;
}

// Обработчик формы
if($_POST['btn'] == "Отправить")
{
$clock = chas_minuts($_POST['clock']);
}


?>
Введите время:
<form action="" method="post">
<input name="clock" type="text">
<input name="btn" type="submit" value="Отправить">
</form>
<p></p>


<?php

// Выводим на монитор
echo $clock

?>