Validate ngày tháng dạng tổng quát 2008-07-09 12:21:48


Hàm này sẽ giúp validate ngày tháng theo 1 định dạng được config trước dạng: ngày,tháng,năm giờ phút giây ví dụ:
Y-m-d h:i:s, d/m/Y h:i:s .....
<?php
function isDate($sDate){
$error = array();
$dateFormate = 'd/m/Y h:i:s';
preg_match_all('/([0-9]+)/',$sDate,$d);
preg_match_all('/([^0-9]+)/',$sDate,$sd);
preg_match_all('/([a-z]+)/i',$dateFormat,$formatDate);
preg_match_all('/([^a-z]+)/i',$dateFormat,$sformatDate);
$date = array();
foreach(
$formatDate[0] as $k=>$v){
$date["$v"] = isset($d[0][$k])?$d[0][$k]:0;
}
foreach(
$sd[0] as $k=>$v)
if(
$v!=$sformatDate[0][$k]) error[] = "Date $sDate is not samilar with format dateFormat";
if(!
checkdate($date['m'],$date['d'],$date['Y'])) error[] = "Date $sDate is not exists ";
if(isset(
$date['h'])&&($date['h']<0||$date['h']>60)) error[] = "Thời gian không hợp lệ";
if(isset(
$date['i'])&&($date['i']<0||$date['i']>60)) error[] = "Thời gian không hợp lệ";
if(isset(
$date['s'])&&($date['s']<0||$date['s']>60)) error[] = "Thời gian không hợp lệ";
}
return
$error;

$r = isDate('32/11/2007 11:11:11');
print_r($r);exit();
?>

Tra loi 1 comment(s) TG 2008-07-09 12:21:48

TK 2008-07-09 01:28:00

Thankiu TG, đỡ phải viết ;))

Tra loi

Y kien