PDA

View Full Version : Function kiểm tra mọi định dạng ngày tháng có chính xác hay không?



QUYETC2
29-05-2012, 15:06
Tất cả các loại định dạng sau đây đều được cho là chính xác với chuỗi ngày tháng bất kỳ:
Loại 1: Y-m-d H:i:s
Loại 2: Y/m/d H:i:s
Loại 3: d-m-Y H:i:s
Loại 4 d/m/Y H:i:s
Loại 5: H:i:s d/m/Y
Loại 6: H:i:s d-m-Y
Loại 7 H:i:s Y-m-d
Loại 8 H:i:s Y/m/d

Ví dụ:

Loại 1: 1958-05-12 07:06:20
Loại 2: 1958/05/12 07:06:20
Loại 3: 12-05-1958 07:06:20
Loại 4 12/05/1958 07:06:20
Loại 5: 07:06:20 12/05/1958
Loại 6: 07:06:20 12-05-1958
Loại 7 07:06:20 1958-05-12
Loại 8 07:06:20 1958/05/12




function kiemTraCoPhaiDuLieuNgayThangKhong($txtNgayThangNam GioPhutGiay)
{
if(trim($txtNgayThangNamGioPhutGiay) != null)
{
$txtPatternMatch = "#^(([1][9]|[2][0-9])\d{2}[-\/.]([0]\d|[1][0-2])[-\/.]([0-2]\d|[3][0-1])(\s([0]?\d|[1][0-2])\:([0-5]\d){1,2}\:([0-5]\d){1,2})*\s*([aApP][mM]{0,2})?)?(([0-2]\d|[3][0-1])[-\/.]([0]\d|[1][0-2])[-\/.]([1][9]|[2][0-9])\d{2}(\s([0]?\d|[1][0-2])\:([0-5]\d){1,2}\:([0-5]\d){1,2})*\s*([aApP][mM]{0,2})?)?((([0]?\d|[1][0-2])\:([0-5]\d){1,2}\:([0-5]\d){1,2})*\s*([aApP][mM]{0,2})?\s([0-2]\d|[3][0-1])[-\/.]([0]\d|[1][0-2])[-\/.]([1][9]|[2][0-9])\d{2})?((([0]?\d|[1][0-2])\:([0-5]\d){1,2}\:([0-5]\d){1,2})*\s*([aApP][mM]{0,2})?\s([1][9]|[2][0-9])\d{2}[-\/.]([0]\d|[1][0-2])[-\/.]([0-2]\d|[3][0-1]))?$#";
if(preg_match($txtPatternMatch, $txtNgayThangNamGioPhutGiay))
{
return true;
}
else
{
return false;

}
}
else
{
return false;
}
}

QUYETC2
29-05-2012, 15:09
Sao bị biến thành dấu *** hết rồi?

phuongthom
29-05-2012, 18:20
tức là sao, đọc title chưa hiểu lắm :-?

zmt264
29-05-2012, 23:02
Sao bị biến thành dấu *** hết rồi?

Cho code của bạn lên http://codesend.com rồi paste link về đây là được :D, cái vừa rồi là bug của forum, bị phản ánh lâu rồi mà ko sửa :D