35-68
21. 10. 2009., 00:02
<?php
/*
version 0.11
copyright 35-68 <http://creativecommons.org/licenses/by-nc/3.0/rs/>
author Dušan Boškić <dusan@boskic.com>
*/
class c_JMBG {
public function f_Izvestaj($n_jmbg) {
if (!is_numeric($n_jmbg)) return false;
switch (strlen($n_jmbg)) {
case 13 :
$a_Podaci = self::f_Podaci($n_jmbg);
if (!$a_Podaci) return false;
$a_KBroj = self::f_KontrolniBroj($n_jmbg);
if (!$a_KBroj) return false;
if ($a_KBroj["K"] == $a_Podaci["K"]) {
$s_Mesec = self::$a_Podatak["Mesec"][$a_Podaci["MM"]];
$s_Region = self::$a_Podatak["Region"][$a_Podaci["RR"]];
if (!$s_Region) return false;
$n_Pol = $a_Podaci["BBB"] > 499 ? 1 : 0;
return array("Dan" => $a_Podaci["DD"], "Mesec" => $s_Mesec, "Godina" => $a_Podaci["GGGG"], "Region" => $s_Region, "Pol" => $n_Pol);
} else {
return array("Kontrolni broj" => $a_KBroj["K"]);
}
break;
case 14 :
$JMBG = self::f_JMBG($n_jmbg);
if (!$JMBG) return false;
return $JMBG;
break;
default : return false;
}
}
private function f_JMBG($n_podaci) {
preg_match("@(\d{2})(\d{2})(\d{4})(\d{2})(\d{3})(\d{1})@", $n_podaci, $n_broj); //Dan, Mesec, Godina, Region, Broj po redu tog dana, Pol
if ($n_broj[5] < 1 || $n_broj[5] > 500) return false;
$b_Datum = self::f_Datum($n_broj[1], $n_broj[2], $n_broj[3]);
if ($b_Datum) {
$s_Godina = substr($n_broj[3], 1);
$s_Broj = $n_broj[6] == 0 ? substr("00".($n_broj[5] - 1), -3) : $n_broj[5] + 499;
$a_KBroj = self::f_KontrolniBroj($n_broj[1].$n_broj[2].$s_Godina.$n_broj[4].$s_Broj);
if (!$a_KBroj) return false;
return array("Dan" => $n_broj[1], "Mesec" => $n_broj[2], "Godina" => $s_Godina, "Region" => $n_broj[4], "Jedinstveni broj" => $s_Broj, "Kontrolni broj" => $a_KBroj["K"]);
} else {
return false;
}
}
private function f_Podaci($n_jmbg) {
preg_match("@(\d{2})(\d{2})(\d{3})(\d{2})(\d{3})(\d{1})@", $n_jmbg, $n_broj); //Dan, Mesec, Godina, Region, Broj po redu tog dana, Kontrolni broj
$Godina = $n_broj[3] > 356 ? $n_broj[3] + 1000 : $n_broj[3] + 2000; //1357-2356*
$b_Datum = self::f_Datum($n_broj[1], $n_broj[2], $Godina);
if ($b_Datum) {
return array("DD" => $n_broj[1], "MM" => $n_broj[2], "GGGG" => $Godina, "RR" => $n_broj[4], "BBB" => $n_broj[5], "K" => $n_broj[6]);
} else {
return false;
}
}
private function f_Datum($n_dan, $n_mesec, $n_godina) {
if ($n_dan < 1 || $n_dan > 31) return false;
if ($n_mesec < 1 || $n_mesec > 12) return false;
if ($n_godina < 1357 || $n_godina > 2356) return false; //*
$a_31 = array(02, 04, 06, 09, 11);
switch ($n_dan) {
case 31 :
if (in_array($n_mesec, $a_31)) return false;
break;
case 30 :
if ($n_mesec == 02) return false;
break;
case 29 :
if ($n_mesec == 02 && $n_godina % 4 != 0) return false;
break;
default:
return true;
}
return true;
}
private function f_KontrolniBroj($n_jmbg) {
for ($n_broj = 1; $n_broj < 13; $n_broj++) {
${"n_N{$n_broj}"} = $n_jmbg[$n_broj-1];
}
$n_K = 11 - ((7*($n_N1+$n_N7) + 6*($n_N2+$n_N8) + 5*($n_N3+$n_N9) + 4*($n_N4+$n_N10) + 3*($n_N5+$n_N11) + 2*($n_N6+$n_N12)) % 11);
if ($n_K == 10) return false; //Zbog ovog uslova JMBG je u mnogo slučaja nevalidan
return array("K" => $n_K < 10 ? $n_K : 0);
}
/*
http://sr.wikipedia.org/wiki/Јединствени_матични_број_грађана
http://sh.wikipedia.org/wiki/Jedinstveni_matični_broj_građana
*/
public static $a_Podatak = array(
"Mesec" => array(
"01" => "Januar",
"02" => "Februar",
"03" => "Mart",
"04" => "April",
"05" => "Maj",
"06" => "Jun",
"07" => "Jul",
"08" => "Avgust",
"09" => "Septembar",
"10" => "Oktobar",
"11" => "Novembar",
"12" => "Decembar"
),
"Region" => array(
"00" => false,
"01" => "stranci u BiH",
"02" => "stranci u Crnoj Gori",
"03" => "stranci u Hrvatskoj",
"04" => "stranci u Makedoniji",
"05" => "stranci u Sloveniji",
"06" => "stranci",
"07" => "stranci u Srbiji (bez pokrajina)",
"08" => "stranci u Vojvodini",
"09" => "stranci na Kosovu",
"10" => "Banja Luka",
"11" => "Bihać",
"12" => "Doboj",
"13" => "Goražde",
"14" => "Livno",
"15" => "Mostar",
"16" => "Prijedor",
"17" => "Sarajevo",
"18" => "Tuzla",
"19" => "Zenica",
"20" => "Crna Gora",
"21" => "Podgorica",
"22" => false,
"23" => "Budva",
"24" => "Podgorica",
"25" => false,
"26" => "Nikšić",
"27" => false,
"28" => false,
"29" => false,
"30" => "Osijek, Slavonija region",
"31" => "Bjelovar, Virovitica, Koprivnica, Pakrac, Podravina region",
"32" => "Varaždin, Međimurje region",
"33" => "Zagreb",
"34" => "Karlovac",
"35" => "Gospić, Lika region",
"36" => "Rijeka, Pula, Istra i Primorje region",
"37" => "Sisak, Banovina region",
"38" => "Split, Zadar, Dubrovnik, Dalmacija region",
"39" => "mešano",
"40" => "Makedonija",
"41" => "Bitola",
"42" => "Kumanovo",
"43" => "Ohrid",
"44" => "Prilep",
"45" => "Skopje",
"46" => "Strumica",
"47" => "Tetovo",
"48" => "Veles",
"49" => "Štip",
"50" => "Slovenija",
"51" => false,
"52" => false,
"53" => false,
"54" => false,
"55" => false,
"56" => false,
"57" => false,
"58" => false,
"59" => false,
"60" => false,
"61" => false,
"62" => false,
"63" => false,
"64" => false,
"65" => false,
"66" => false,
"67" => false,
"68" => false,
"69" => false,
"70" => "Centralna Srbija",
"71" => "Beograd region (Grad Beograd: Stari Grad, Savski Venac, Voždovac, Vračar, Palilula, Zvezdara, Rakovica, Čukarica, Novi Beograd, Zemun, Mladenovac, Barajevo, Grocka, Obrenovac, Sopot, Lazarevac)",
"72" => "Šumadija i Pomoravlje regions (Šumadijski okrug: Aranđelovac, Batočina, Knić, Kragujevac, Rača, Lapovo, Topola), (Pomoravski okrug: Despotovac, Paraćin, Rekovac, Jagodina, Svilajnac, Ćuprija)",
"73" => "Niš region (Nišavski okrug: Aleksinac, Svrljig, Niš, Gadžin Han, Doljevac, Merošina, Ražanj), (Pirotski okrug: Babušnica, Bela Palanka, Dimitrovgrad, Pirot), (Toplički okrug: Blace, Žitorađa, Prokuplje, Kuršumlija)",
"74" => "Južna Morava region (Jablanički okrug: Leskovac, Vlasotince, Medveđa, Lebane, Bojnik, Crna Trava), (Pčinjski okrug: Vranje, Bujanovac, Surdulica, Bosilegrad, Preševo, Trgovište, Vladičin Han)",
"75" => "Zaječar region (Zaječarski okrug: Zaječar, Boljevac, Knjaževac, Sokobanja), (Borski okrug: Bor, Majdanpek, Kladovo, Negotin)",
"76" => "Podunavlje region (Podunavski okrug: Smederevska Palanka, Velika Plana, Smederevo), (Braničevski okrug: Veliko Gradište, Kučevo, Petrovac na Mlavi, Požarevac, Žagubica, Golubac, Žabari, Malo Crniće)",
"77" => "Podrinje i Kolubara regions (Mačvanski okrug: Loznica, Krupanj, Ljubovija, Šabac, Bogatić, Koceljeva, Vladimirci, Mali Zvornik), (Kolubarski okrug: Valjevo, Lajkovac, Ljig, Ub, Osečina, Mionoca)",
"78" => "Kraljevo region (Raški okrug: Kraljevo, Vrnjačka Banja, Novi Pazar, Raška, Tutin), (Moravički okrug: Gornji Milanovac, Čačak, Ivanjica, Lučani), (Rasinski okrug: Aleksandrovac, Brus, Kruševac, Trstenik, Varvarin, Ćićevac)",
"79" => "Užice region (Zlatiborski okrug: Arilje, Bajina Bašta, Kosjerić, Nova Varoš, Požega, Priboj, Prijepolje, Sjenica, Užice, Čajetina)",
"80" => "Novi Sad region (Južnobački okrug: Bač, Bačka Palanka, Bački Petrovac, Vrbas, Žabalj, Novi Sad, Srbobran, Sremski Karlovci, Temerin, Titel, Bečej, Beočin)",
"81" => "Sombor region (Zapadnobački okrug: Apatin, Kula, Odžaci, Sombor)",
"82" => "Subotica region (Severnobački okrug: Bačka Topola, Subotica, Mali Iđoš)",
"83" => false,
"84" => false,
"85" => "Zrenjanin region (Srednjebanatski okrug: Zrenjanin, Nova Crnja, Novi Bečej, Sečanj, Žitište)",
"86" => "Pančevo region (Južnobanatski okrug: Alibunar, Bela Crkva, Vršac, Kovačica, Kovin, Pančevo, Opovo, Plandište)",
"87" => "Kikinda region (Severnobanatski okrug: Ada, Kikinda, Kanjiža, Novi Kneževac, Senta, Čoka)",
"88" => "Ruma region (Sremski okrug: Inđija, Pećinci, Ruma, Sremska Mitrovica, Stara Pazova, Šid, Irig)",
"89" => "Sremska Mitrovica region (Sremski okrug: Inđija, Pećinci, Ruma, Sremska Mitrovica, Stara Pazova, Šid, Irig)",
"90" => "Kosovo i Metohija",
"91" => "Priština region (Kosovski okrug: Priština, Obilić, Podujevo, Štrpce, Lipljan, Glogovac, Kačanik, Kosovo Polje, Uroševac, Štimlje)",
"92" => "Kosovska Mitrovica region (Kosovsko Mitrovački okrug: Kosovska Mitrovica, Zvečan, Leposavić, Zubin Potok, Vučitrn, Srbica)",
"93" => "Peć region (Pećki okrug: Peć, Istok, Klina)",
"94" => "Đakovica region (Pećki okrug: Dečani, Đakovica)",
"95" => "Prizren region (Prizrenski okrug: Gora-Dragaš, Orahovac, Prizren, Suva Reka)",
"96" => "Kosovsko Pomoravski okrug: (Gnjilane, Kosovska Kamenica, Vitina, Novo Brdo)",
"97" => false,
"98" => false,
"99" => false
)
);
}
//Primer:
/*
DD => 01-31 Dan
MM => 01-12 Mesec
GGGG => 1357-2356 Godina
RR => 00-99 Region
BBB => 001-500 Broj
P => 0-1 (0-Muški, 1-Ženski) Pol
@input string DDMMGGGGRRBBBP
@output array [JMBG]
*/
print_r(c_JMBG::f_Izvestaj("01012010710011")); //Prvo žensko dete rođeno 01.01.2010. godine u Beogradu
/*
DD => 01-31 Dan
MM => 01-12 Mesec
GGG => 000-999 Godina
RR => 00-99 Region
BBB => 000-999 Jedinstveni broj
K => 0-9 Kontrolni broj
@input string DDMMGGGRRBBBK [JMBG]
@output array
*/
print_r(c_JMBG::f_Izvestaj("0101010715009")); //Reverse JMBG :)
?> Bilo i pre (samo je nestalo), prihvaćene sugestije dragog tate :)
/*
version 0.11
copyright 35-68 <http://creativecommons.org/licenses/by-nc/3.0/rs/>
author Dušan Boškić <dusan@boskic.com>
*/
class c_JMBG {
public function f_Izvestaj($n_jmbg) {
if (!is_numeric($n_jmbg)) return false;
switch (strlen($n_jmbg)) {
case 13 :
$a_Podaci = self::f_Podaci($n_jmbg);
if (!$a_Podaci) return false;
$a_KBroj = self::f_KontrolniBroj($n_jmbg);
if (!$a_KBroj) return false;
if ($a_KBroj["K"] == $a_Podaci["K"]) {
$s_Mesec = self::$a_Podatak["Mesec"][$a_Podaci["MM"]];
$s_Region = self::$a_Podatak["Region"][$a_Podaci["RR"]];
if (!$s_Region) return false;
$n_Pol = $a_Podaci["BBB"] > 499 ? 1 : 0;
return array("Dan" => $a_Podaci["DD"], "Mesec" => $s_Mesec, "Godina" => $a_Podaci["GGGG"], "Region" => $s_Region, "Pol" => $n_Pol);
} else {
return array("Kontrolni broj" => $a_KBroj["K"]);
}
break;
case 14 :
$JMBG = self::f_JMBG($n_jmbg);
if (!$JMBG) return false;
return $JMBG;
break;
default : return false;
}
}
private function f_JMBG($n_podaci) {
preg_match("@(\d{2})(\d{2})(\d{4})(\d{2})(\d{3})(\d{1})@", $n_podaci, $n_broj); //Dan, Mesec, Godina, Region, Broj po redu tog dana, Pol
if ($n_broj[5] < 1 || $n_broj[5] > 500) return false;
$b_Datum = self::f_Datum($n_broj[1], $n_broj[2], $n_broj[3]);
if ($b_Datum) {
$s_Godina = substr($n_broj[3], 1);
$s_Broj = $n_broj[6] == 0 ? substr("00".($n_broj[5] - 1), -3) : $n_broj[5] + 499;
$a_KBroj = self::f_KontrolniBroj($n_broj[1].$n_broj[2].$s_Godina.$n_broj[4].$s_Broj);
if (!$a_KBroj) return false;
return array("Dan" => $n_broj[1], "Mesec" => $n_broj[2], "Godina" => $s_Godina, "Region" => $n_broj[4], "Jedinstveni broj" => $s_Broj, "Kontrolni broj" => $a_KBroj["K"]);
} else {
return false;
}
}
private function f_Podaci($n_jmbg) {
preg_match("@(\d{2})(\d{2})(\d{3})(\d{2})(\d{3})(\d{1})@", $n_jmbg, $n_broj); //Dan, Mesec, Godina, Region, Broj po redu tog dana, Kontrolni broj
$Godina = $n_broj[3] > 356 ? $n_broj[3] + 1000 : $n_broj[3] + 2000; //1357-2356*
$b_Datum = self::f_Datum($n_broj[1], $n_broj[2], $Godina);
if ($b_Datum) {
return array("DD" => $n_broj[1], "MM" => $n_broj[2], "GGGG" => $Godina, "RR" => $n_broj[4], "BBB" => $n_broj[5], "K" => $n_broj[6]);
} else {
return false;
}
}
private function f_Datum($n_dan, $n_mesec, $n_godina) {
if ($n_dan < 1 || $n_dan > 31) return false;
if ($n_mesec < 1 || $n_mesec > 12) return false;
if ($n_godina < 1357 || $n_godina > 2356) return false; //*
$a_31 = array(02, 04, 06, 09, 11);
switch ($n_dan) {
case 31 :
if (in_array($n_mesec, $a_31)) return false;
break;
case 30 :
if ($n_mesec == 02) return false;
break;
case 29 :
if ($n_mesec == 02 && $n_godina % 4 != 0) return false;
break;
default:
return true;
}
return true;
}
private function f_KontrolniBroj($n_jmbg) {
for ($n_broj = 1; $n_broj < 13; $n_broj++) {
${"n_N{$n_broj}"} = $n_jmbg[$n_broj-1];
}
$n_K = 11 - ((7*($n_N1+$n_N7) + 6*($n_N2+$n_N8) + 5*($n_N3+$n_N9) + 4*($n_N4+$n_N10) + 3*($n_N5+$n_N11) + 2*($n_N6+$n_N12)) % 11);
if ($n_K == 10) return false; //Zbog ovog uslova JMBG je u mnogo slučaja nevalidan
return array("K" => $n_K < 10 ? $n_K : 0);
}
/*
http://sr.wikipedia.org/wiki/Јединствени_матични_број_грађана
http://sh.wikipedia.org/wiki/Jedinstveni_matični_broj_građana
*/
public static $a_Podatak = array(
"Mesec" => array(
"01" => "Januar",
"02" => "Februar",
"03" => "Mart",
"04" => "April",
"05" => "Maj",
"06" => "Jun",
"07" => "Jul",
"08" => "Avgust",
"09" => "Septembar",
"10" => "Oktobar",
"11" => "Novembar",
"12" => "Decembar"
),
"Region" => array(
"00" => false,
"01" => "stranci u BiH",
"02" => "stranci u Crnoj Gori",
"03" => "stranci u Hrvatskoj",
"04" => "stranci u Makedoniji",
"05" => "stranci u Sloveniji",
"06" => "stranci",
"07" => "stranci u Srbiji (bez pokrajina)",
"08" => "stranci u Vojvodini",
"09" => "stranci na Kosovu",
"10" => "Banja Luka",
"11" => "Bihać",
"12" => "Doboj",
"13" => "Goražde",
"14" => "Livno",
"15" => "Mostar",
"16" => "Prijedor",
"17" => "Sarajevo",
"18" => "Tuzla",
"19" => "Zenica",
"20" => "Crna Gora",
"21" => "Podgorica",
"22" => false,
"23" => "Budva",
"24" => "Podgorica",
"25" => false,
"26" => "Nikšić",
"27" => false,
"28" => false,
"29" => false,
"30" => "Osijek, Slavonija region",
"31" => "Bjelovar, Virovitica, Koprivnica, Pakrac, Podravina region",
"32" => "Varaždin, Međimurje region",
"33" => "Zagreb",
"34" => "Karlovac",
"35" => "Gospić, Lika region",
"36" => "Rijeka, Pula, Istra i Primorje region",
"37" => "Sisak, Banovina region",
"38" => "Split, Zadar, Dubrovnik, Dalmacija region",
"39" => "mešano",
"40" => "Makedonija",
"41" => "Bitola",
"42" => "Kumanovo",
"43" => "Ohrid",
"44" => "Prilep",
"45" => "Skopje",
"46" => "Strumica",
"47" => "Tetovo",
"48" => "Veles",
"49" => "Štip",
"50" => "Slovenija",
"51" => false,
"52" => false,
"53" => false,
"54" => false,
"55" => false,
"56" => false,
"57" => false,
"58" => false,
"59" => false,
"60" => false,
"61" => false,
"62" => false,
"63" => false,
"64" => false,
"65" => false,
"66" => false,
"67" => false,
"68" => false,
"69" => false,
"70" => "Centralna Srbija",
"71" => "Beograd region (Grad Beograd: Stari Grad, Savski Venac, Voždovac, Vračar, Palilula, Zvezdara, Rakovica, Čukarica, Novi Beograd, Zemun, Mladenovac, Barajevo, Grocka, Obrenovac, Sopot, Lazarevac)",
"72" => "Šumadija i Pomoravlje regions (Šumadijski okrug: Aranđelovac, Batočina, Knić, Kragujevac, Rača, Lapovo, Topola), (Pomoravski okrug: Despotovac, Paraćin, Rekovac, Jagodina, Svilajnac, Ćuprija)",
"73" => "Niš region (Nišavski okrug: Aleksinac, Svrljig, Niš, Gadžin Han, Doljevac, Merošina, Ražanj), (Pirotski okrug: Babušnica, Bela Palanka, Dimitrovgrad, Pirot), (Toplički okrug: Blace, Žitorađa, Prokuplje, Kuršumlija)",
"74" => "Južna Morava region (Jablanički okrug: Leskovac, Vlasotince, Medveđa, Lebane, Bojnik, Crna Trava), (Pčinjski okrug: Vranje, Bujanovac, Surdulica, Bosilegrad, Preševo, Trgovište, Vladičin Han)",
"75" => "Zaječar region (Zaječarski okrug: Zaječar, Boljevac, Knjaževac, Sokobanja), (Borski okrug: Bor, Majdanpek, Kladovo, Negotin)",
"76" => "Podunavlje region (Podunavski okrug: Smederevska Palanka, Velika Plana, Smederevo), (Braničevski okrug: Veliko Gradište, Kučevo, Petrovac na Mlavi, Požarevac, Žagubica, Golubac, Žabari, Malo Crniće)",
"77" => "Podrinje i Kolubara regions (Mačvanski okrug: Loznica, Krupanj, Ljubovija, Šabac, Bogatić, Koceljeva, Vladimirci, Mali Zvornik), (Kolubarski okrug: Valjevo, Lajkovac, Ljig, Ub, Osečina, Mionoca)",
"78" => "Kraljevo region (Raški okrug: Kraljevo, Vrnjačka Banja, Novi Pazar, Raška, Tutin), (Moravički okrug: Gornji Milanovac, Čačak, Ivanjica, Lučani), (Rasinski okrug: Aleksandrovac, Brus, Kruševac, Trstenik, Varvarin, Ćićevac)",
"79" => "Užice region (Zlatiborski okrug: Arilje, Bajina Bašta, Kosjerić, Nova Varoš, Požega, Priboj, Prijepolje, Sjenica, Užice, Čajetina)",
"80" => "Novi Sad region (Južnobački okrug: Bač, Bačka Palanka, Bački Petrovac, Vrbas, Žabalj, Novi Sad, Srbobran, Sremski Karlovci, Temerin, Titel, Bečej, Beočin)",
"81" => "Sombor region (Zapadnobački okrug: Apatin, Kula, Odžaci, Sombor)",
"82" => "Subotica region (Severnobački okrug: Bačka Topola, Subotica, Mali Iđoš)",
"83" => false,
"84" => false,
"85" => "Zrenjanin region (Srednjebanatski okrug: Zrenjanin, Nova Crnja, Novi Bečej, Sečanj, Žitište)",
"86" => "Pančevo region (Južnobanatski okrug: Alibunar, Bela Crkva, Vršac, Kovačica, Kovin, Pančevo, Opovo, Plandište)",
"87" => "Kikinda region (Severnobanatski okrug: Ada, Kikinda, Kanjiža, Novi Kneževac, Senta, Čoka)",
"88" => "Ruma region (Sremski okrug: Inđija, Pećinci, Ruma, Sremska Mitrovica, Stara Pazova, Šid, Irig)",
"89" => "Sremska Mitrovica region (Sremski okrug: Inđija, Pećinci, Ruma, Sremska Mitrovica, Stara Pazova, Šid, Irig)",
"90" => "Kosovo i Metohija",
"91" => "Priština region (Kosovski okrug: Priština, Obilić, Podujevo, Štrpce, Lipljan, Glogovac, Kačanik, Kosovo Polje, Uroševac, Štimlje)",
"92" => "Kosovska Mitrovica region (Kosovsko Mitrovački okrug: Kosovska Mitrovica, Zvečan, Leposavić, Zubin Potok, Vučitrn, Srbica)",
"93" => "Peć region (Pećki okrug: Peć, Istok, Klina)",
"94" => "Đakovica region (Pećki okrug: Dečani, Đakovica)",
"95" => "Prizren region (Prizrenski okrug: Gora-Dragaš, Orahovac, Prizren, Suva Reka)",
"96" => "Kosovsko Pomoravski okrug: (Gnjilane, Kosovska Kamenica, Vitina, Novo Brdo)",
"97" => false,
"98" => false,
"99" => false
)
);
}
//Primer:
/*
DD => 01-31 Dan
MM => 01-12 Mesec
GGGG => 1357-2356 Godina
RR => 00-99 Region
BBB => 001-500 Broj
P => 0-1 (0-Muški, 1-Ženski) Pol
@input string DDMMGGGGRRBBBP
@output array [JMBG]
*/
print_r(c_JMBG::f_Izvestaj("01012010710011")); //Prvo žensko dete rođeno 01.01.2010. godine u Beogradu
/*
DD => 01-31 Dan
MM => 01-12 Mesec
GGG => 000-999 Godina
RR => 00-99 Region
BBB => 000-999 Jedinstveni broj
K => 0-9 Kontrolni broj
@input string DDMMGGGRRBBBK [JMBG]
@output array
*/
print_r(c_JMBG::f_Izvestaj("0101010715009")); //Reverse JMBG :)
?> Bilo i pre (samo je nestalo), prihvaćene sugestije dragog tate :)