frozzare/personnummer

This package is abandoned and no longer maintained. The author suggests using the personnummer/personnummer package instead.

Validate Swedish social security numbers

Fund package maintenance!
Open Collective

Installs: 164 124

Dependents: 0

Suggesters: 0

Security: 0

Stars: 30

Watchers: 6

Forks: 9

Open Issues: 2

Type:utility


README

Validate Swedish social security numbers.

Installation

composer require personnummer/personnummer

Methods

Static

Method Arguments Returns
parse string personnummer, [ array options* ] Instance
valid string personnummer, [ array options* ] bool

Instance

Method Arguments Returns
format bool longFormat string
getAge none int
isMale none bool
isFemale none bool
isCoordinationNumber none bool
isInterimNumber none bool
getDate none DateTime
Property Type Description
century string Century, two digits
year string Year, two digits
fullYear string Year, four digits
month string Month, two digits
day string Day, two digits
sep string Separator (-/+)
num string Suffix number, three digits
check string Luhn check digit, one digit

Errors

When a personnummer is invalid a PersonnummerException is thrown.

Options

Option Type Default Description
allowCoordinationNumber bool true Accept coordination numbers
allowInterimNumber bool false Accept interim/T numbers

Examples

Validation

use Personnummer\Personnummer;

Personnummer::valid(1212121212);
//=> true

Personnummer::valid('20121212-1212');
//=> true

Format

use Personnummer\Personnummer;

// Short format (YYMMDD-XXXX)
(new Personnummer(1212121212))->format();
//=> 121212-1212

// Short format for 100+ years old
(new Personnummer('191212121212'))->format();
//=> 121212+1212

// Long format (YYYYMMDDXXXX)
(new Personnummer('1212121212'))->format(true);
//=> 201212121212

Get Age

use Personnummer\Personnummer;

(new Personnummer('1212121212'))->getAge();
//=> 7

Get Sex

use Personnummer\Personnummer;

(new Personnummer('1212121212'))->isMale();
//=> true
(new Personnummer('1212121212'))->isFemale();
//=> false

See PersonnummerTest.php for more examples.

License

MIT