A class representing Danish civil registration numbers (CPR numbers).
The CPR number is a ten digit number with the format DDMMYY-SSSS, where the first six digits represent the date of birth and the last four digits are a sequence number.
The CPR number is used in Denmark to uniquely identify persons in various systems, and is also used as a personal identification number in many contexts.
The class represents a CPR number as a read-only value object, and provides methods for working with, formatting, and validating CPR numbers.
- Full name:
\Reload\Cpr\CprNumber
Construct a CPR number readonly value object from a string.
public __construct(string $cpr)Parameters:
| Parameter | Type | Description |
|---|---|---|
$cpr |
string | A string with the CPR number. |
Throws:
If the CPR number does not contain 10 digits
InvalidCprNumberFormatIf the date in the CPR number doesn't exist.NonExistingDate
Format the CPR number in the traditional format (120345-6789).
public __toString(): stringSee Also:
- \Reload\Cpr\CprNumber::formatPretty()
Format the CPR number in the traditional format (120345-6789).
public formatPretty(): stringFormat the CPR number using numbers only (1203456789).
public formatNumbersOnly(): stringCheck if the CPR number represents a female person.
public isFemale(): boolCheck if the CPR number represents a male person.
public isMale(): boolGet a DateTimeImmutable object from the CPR number.
public getDateTimeImmutable(?\DateTimeZone $timezone = null): ?\DateTimeImmutableParameters:
| Parameter | Type | Description |
|---|---|---|
$timezone |
?\DateTimeZone | A DateTimeZone object for the desired time zone. Defaults: current timezone. |
Validate the CPR number using the modulus 11 algorithm.
public validateModulus11(): boolNOTICE: CPR numbers are no longer required to fulfill the modulus 11 check. You should NOT use this method to validate or dismiss CPR numbers.