stdnum.dk.cpr¶
CPR (personnummer, the Danish citizen number).
The CPR is the national number to identify Danish citizens. The number consists of 10 digits in the format DDMMYY-SSSS where the first part represents the birth date and the second a sequence number. The first digit of the sequence number indicates the century.
The numbers used to validate using a checksum but since the sequence numbers ran out this was abandoned in 2007.
>>> validate('211062-5629')
'2110625629'
>>> checksum('2110625629')
0
>>> validate('511062-5629') # invalid date
Traceback (most recent call last):
...
InvalidComponent: ...
>>> get_birth_date('2110620629')
datetime.date(1962, 10, 21)
>>> get_birth_date('2110525629')
datetime.date(2052, 10, 21)
>>> format('2110625629')
'211062-5629'
Traceback (most recent call last):
...
InvalidComponent: ...
-
stdnum.dk.cpr.
checksum
(number)¶ Calculate the checksum. Note that the checksum isn’t actually used any more. Valid numbers used to have a checksum of 0.
-
stdnum.dk.cpr.
compact
(number)¶ Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.
-
stdnum.dk.cpr.
format
(number)¶ Reformat the passed number to the standard format.
-
stdnum.dk.cpr.
get_birth_date
(number)¶ Split the date parts from the number and return the birth date.
-
stdnum.dk.cpr.
is_valid
(number)¶ Checks to see if the number provided is a valid CPR number. This checks the length, formatting, embedded date and check digit.
-
stdnum.dk.cpr.
validate
(number)¶ Checks to see if the number provided is a valid CPR number. This checks the length, formatting, embedded date and check digit.