reload/cpr

CPR: Danish personal identification numbers

v0.0.13 2024-12-20 22:17 UTC

README

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

Methods

__construct

Construct a CPR number readonly value object from a string.

public __construct(string $cpr)

Parameters:

Throws:

If the CPR number does not contain 10 digits

If the date in the CPR number doesn't exist.

__toString

Format the CPR number in the traditional format (120345-6789).

public __toString(): string

See Also:

  • \Reload\Cpr\CprNumber::formatPretty() -

formatPretty

Format the CPR number in the traditional format (120345-6789).

public formatPretty(): string

formatNumbersOnly

Format the CPR number using numbers only (1203456789).

public formatNumbersOnly(): string

isFemale

Check if the CPR number represents a female person.

public isFemale(): bool

isMale

Check if the CPR number represents a male person.

public isMale(): bool

getDateTimeImmutable

Get a DateTimeImmutable object from the CPR number.

public getDateTimeImmutable(?\DateTimeZone $timezone = null): ?\DateTimeImmutable

Parameters:

validateModulus11

Validate the CPR number using the modulus 11 algorithm.

public validateModulus11(): bool

NOTICE: CPR numbers are no longer required to fulfill the modulus 11 check. You should NOT use this method to validate or dismiss CPR numbers.