Практически у каждого жителя Украины (да и других стран) есть идентификационный номер. Это не просто набор цифр, как думают многие. Помимо уникального идентификационного номера в нем содержится информация о дате рождения и поле его владельца. Первые пять цифр кода — количество дней, прошедших с 1 января 1900 года до дня рождения владельца. Следующие четыре цифры — порядковый номер человека родившегося в этот день. Девятая цифра означает пол. Последний символ — контрольное число.
PHP функция будет возвращать массив данных:
function IdentificationNumber($number)
{
$result = array();
$result['number'] = $number;
$result['sex'] = (substr($number,8,1)%2) ? 'Мужчина' : 'Женщина';
$split = str_split($number);
$execute = $split[0]*(-1)+$split[1]*5+$split[2]*7+$split[3]*9+$split[4]*4+$split[5]*6+$split[6]*10+$split[7]*5+$split[8]*7;
$number = substr($number,0,5);
$date = date('d.m.Y',strtotime('01.01.1900 + '.$number.' days - 1 days'));
list($result['day'],$result['month'],$result['year']) = explode('.',$date);
return $result;
}
Пример:
print_r (IdentificationNumber('3184710691'));
Ответ:
Array ( [number] => 3184710691 [sex] => Мужчина [year] => 1987 [month] => 03 [day] => 12 )