note 71597 deleted from function.checkdate by nlopess
| From: | nlopess@php.net | Date: | Thu, 07 Dec 2006 18:14:46 +0000 |
| Subject: | note 71597 deleted from function.checkdate by nlopess | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-120398@lists.php.net to get a copy of this message | ||
Note Submitter: smith at mainbase dot ch
----
a function by kevin
function datumcheck($datumeingabe)
{
switch (true)
{
case preg_match('/\\A[.\\d]{6,10}\\z/', $datumeingabe): // date with '.'
$datumeingabe = explode('.', $datumeingabe);
break;
case preg_match('/\\A[\/\\d]{6,10}\\z/', $datumeingabe): // date with '/'
$datumeingabe = explode('/', $datumeingabe);
break;
case preg_match('/\\A[,\\d]{6,10}\\z/', $datumeingabe): // date with ','
$datumeingabe = explode(',', $datumeingabe);
break;
case preg_match('/\\A[\ \\d]{6,10}\\z/', $datumeingabe): // date with ' '
$datumeingabe = explode(' ', $datumeingabe);
break;
case preg_match('/\\A[-\\d]{6,10}\\z/', $datumeingabe): // date with '-'
$datumeingabe = explode('-', $datumeingabe);
break;
default:
return false;
}
// check Day
if (strlen($datumeingabe[0]) == 1)
{
$datumeingabe[0] = '0'.$datumeingabe[0];
}
else
{
if (strlen($datumeingabe[0]) > 2)
{return false;}
}
// check Month
if (strlen($datumeingabe[1]) == 1)
{
$datumeingabe[1] = '0'.$datumeingabe[1];
}
else
{
if (strlen($datumeingabe[1]) > 2)
{return false;}
}
// check Year
if (strlen($datumeingabe[2]) == 2)
{
$datumeingabe[2] = '20'.$datumeingabe[2];
}
else
{
if (strlen($datumeingabe[2]) > 4 or strlen($datumeingabe[2]) == 3 or $datumeingabe[2] >=
3000)
{return false;}
}
// check validity
if (checkdate($datumeingabe[1], $datumeingabe[0], $datumeingabe[2]))
{
return $datumeingabe =
$datumeingabe[0].'.'.$datumeingabe[1].'.'.$datumeingabe[2];
}
else {return false;}
}