stdnum.bg.egn¶
EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes).
It is a 10-digit number of which the first 6 digits denote the person’s birth date, the next three digits represent a birth order number from which the person’s gender can be determined and the last digit is a check digit.
>>> compact('752316 926 3')
'7523169263'
>>> validate('8032056031')
'8032056031'
>>> get_birth_date('7542011030')
datetime.date(2075, 2, 1)
>>> validate('7552A10004')  # invalid digit
Traceback (most recent call last):
    ...
InvalidFormat: ...
>>> validate('8019010008')  # invalid date
Traceback (most recent call last):
    ...
InvalidComponent: ...
- 
stdnum.bg.egn.calc_check_digit(number)¶
- Calculate the check digit. The number passed should not have the check digit included. 
- 
stdnum.bg.egn.compact(number)¶
- Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. 
- 
stdnum.bg.egn.get_birth_date(number)¶
- Split the date parts from the number and return the birth date. 
- 
stdnum.bg.egn.is_valid(number)¶
- Check if the number is a valid national identification number. 
- 
stdnum.bg.egn.validate(number)¶
- Check if the number is a valid national identification number. This checks the length, formatting, embedded date and check digit.