Skip to content
forked from avramovic/JMBG

Class to extract data from ex-Yugoslavian unique citizen identification numbers.

License

Notifications You must be signed in to change notification settings

open-serbia/JMBG

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JMBG

PHP class used to extract data from ex Yugoslavian unique master citizen numbers.

Introduction

JMBG (jedinstveni matični broj građana) or unique master citizen numbers is a 13 characters long number assigned to all newborns in ex Yugoslavian countries. It seems random but it isn't. It holds following data:

  • date of birth
  • state of birth
  • place of birth (region/city)
  • gender
  • validation checksum

This PHP class can be used to extract this data from JMBG numbers. It uses PSR-4 autoloading standard.

Intallation

Install using composer with:

composer require avram/jmbg

Or manually by cloning this repository:

git clone https://github.com/avramovic/JMBG.git

Usage

<?php
require 'vendor/autoload.php'

use Avram\JMBG\JMBG;
$jmbg = new JMBG('1905983710332');
$data = $jmbg->getInfo();

var_dump($data);

You should get output like this:

Array
(
    [jmbg] => 1905983710332
    [valid] => true
    [gender] => male
    [country] => Serbia
    [region] => Belgrade
    [birth_date] => 1983-05-19
    [birth_timestamp] => 422143200
    [age] => 32
)

Inspect the source code to see what methods are available in this class. Basically for every array element in the output above you have separate method.

Note

I've heard there are JMBGs issued with wrong checksum, so if that is true, it renders isValid() method useless. However, it is not a code issue, it's a bureaucracy issue. Most JMBGs are issued with a valid checksum.

About

Class to extract data from ex-Yugoslavian unique citizen identification numbers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%