ソースコード

<?php

	$data[]='0:00';
	$data[]='00:00';
	$data[]='1:1';
	$data[]='0:59';
	$data[]='1:00';
	$data[]='9:59';
	$data[]='10:10';
	$data[]='13:10';
	$data[]='23:59';
	$data[]='08:08';
	$data[]='';
	$data[]=' ';
	$data[]=null;
	$data[]=' 8:5 ';
	$data[]=' 8 : 12 ';
	$data[]='12:12:12';
	$data[]='1234';
	$data[]='abc';
	$data[]='1:5';
	$data[]='2012/12/12 5:5';
	$data[]='9';
	$data[]='24:00';
	$data[]='0:60';
	$data[]='0.1:0.2';



	foreach($data as $i => $v){
		$rs=is_time_hi($v);
		if($rs==true){
			echo "<span class='rs1'>{$i}</span>:<span class='rs2'>{$v}</span>:<span class='rs3'>true</span><br>";
		}else{
			echo "<span class='rs1'>{$i}</span>:<span class='rs2'>{$v}</span>:<span class='rs3_false'>false</span><br>";
		}
	}

	//時分チェック(h:i形式)
	function is_time_hi($v){

		$v=trim($v);


		if(empty($v)){
			return true;
		}


		$ary=explode(':',$v);

		if(count($ary) != 2){
			return false;
		}

		$h=trim($ary[0]);
		$m=trim($ary[1]);

		if(!preg_match('/^[0-9]+$/', $h)){
			return false;
		}

		if(!preg_match('/^[0-9]+$/', $m)){
			return false;
		}

		if($h < 0 || $h > 23){
			return false;
		}

		if($m < 0 || $m > 59){
			return false;
		}

		return true;
	}
?>

実行結果

0:0:00:true
1:00:00:true
2:1:1:true
3:0:59:true
4:1:00:true
5:9:59:true
6:10:10:true
7:13:10:true
8:23:59:true
9:08:08:true
10::true
11: :true
12::true
13: 8:5 :true
14: 8 : 12 :true
15:12:12:12:false
16:1234:false
17:abc:false
18:1:5:false
19:2012/12/12 5:5:false
20:9:false
21:24:00:false
22:0:60:false
23:0.1:0.2:false


参考サイト