Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

is_date

6 views
Skip to first unread message

Jivanmukta

unread,
May 31, 2012, 10:27:04 AM5/31/12
to
Napisałem funkcję is_date do sprawdzania poprawności daty w stringu:

define('DATE_REGEXP','(19|20)[0-9]{2}[- \/.](0[1-9]|1[012])[- \/.]
(0[1-9]|[12][0-9]|3[01]); // chyba zle
function is_date($v, $check = true) {
if (preg_match('/' . DATE_REGEXP . '$/', $v) === false) {
return false;
}
if ($check) {
$ad = preg_split(DATE_REGEXP, $v);
return checkdate($ad[1], $ad[2], $ad[0]); // chyba tez zle
}
return true;
}

Dla dat '2012-04-12' i '2012.03.19' zwraca false a powinna true.
Na wyrażeniach regularnych się nie znam.

Lemat

unread,
May 31, 2012, 1:53:18 PM5/31/12
to
Jivanmukta wrote:

> Napisałem funkcję is_date do sprawdzania poprawności daty w stringu:
>
> define('DATE_REGEXP','(19|20)[0-9]{2}[- \/.](0[1-9]|1[012])[- \/.]
> (0[1-9]|[12][0-9]|3[01]); // chyba zle

brakuje ' i nawiasu kończącego funkcję define );

> function is_date($v, $check = true) {
> if (preg_match('/' . DATE_REGEXP . '$/', $v) === false) {
> return false;
> }
> if ($check) {
> $ad = preg_split(DATE_REGEXP, $v);
> return checkdate($ad[1], $ad[2], $ad[0]); // chyba tez zle
> }
> return true;
> }
>
> Dla dat '2012-04-12' i '2012.03.19' zwraca false a powinna true.
> Na wyrażeniach regularnych się nie znam.

zacznij od strtotime()

--
Pozdrawiam
Lemat
Zanim zadasz pytanie: proszę o informację, jaka była przyczyna śmierci
Twojego ostatniego niewolnika.
0 new messages