Salut, cum as putea verifica daca datele introduse de un utilizator respecta un anumit tipar ?
As vrea ca daca nu respecta acel tipar (sa introduca o data dupa modelul aaaa-ll-zz , cu tot cu "-" si sa verifice daca este valid, adica sa nu poata introduce la zi > 31 sau la luna > 12, anul introdus sa fie acelasi cu anul actual, iar la luna sa nu poata introduce o diferenta mai mare de 2 luni fata de luna actuala) sa apara o eroare.
Verificare tipar de data cu diferenta de 2 luni
-
- Mesaje:117
Verificare tipar de data cu diferenta de 2 luni
MarPlo
Mesaje:4343
Salut
Vezi daca iti e de folos functia din acest exemplu.
Vezi daca iti e de folos functia din acest exemplu.
Cod: Selectaţi tot
//check if $dt is valid date format year-month-day, in the range of 2 months
function checkDt2m($dt){
$re = false;
$d = DateTime::createFromFormat('Y-m-d', $dt);
if($d && $d->format('Y-m-d') === $dt){
$prev2_m = strtotime(' -2 month'); //timestamp of previous 2 months
$next2_m = strtotime(' +2 month'); //timestamp of next 2 months
$dt = strtotime($dt); //timestamp of $dt
//if $dt in the range of 2 months
if($dt >= $prev2_m && $dt <= $next2_m) $re = true;
}
return $re;
}
$date ='1016-06-25';
if(!checkDt2m($date)) echo 'Not accepted date';
//Tests
var_dump(checkDt2m('2016-13-25')); //false
var_dump(checkDt2m('2016-06-32')); //false
var_dump(checkDt2m('2016-06-25')); //true