Validate Swedish social security numbers.
composer require personnummer/personnummer
Method | Arguments | Returns |
---|---|---|
parse | string personnummer, [ array options* ] | Instance |
valid | string personnummer, [ array options* ] | bool |
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 |
When a personnummer is invalid a PersonnummerException is thrown.
Option | Type | Default | Description |
---|---|---|---|
allowCoordinationNumber | bool | true | Accept coordination numbers |
allowInterimNumber | bool | false | Accept interim/T numbers |
use Personnummer\Personnummer;
Personnummer::valid(1212121212);
//=> true
Personnummer::valid('20121212-1212');
//=> true
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
use Personnummer\Personnummer;
(new Personnummer('1212121212'))->getAge();
//=> 7
use Personnummer\Personnummer;
(new Personnummer('1212121212'))->isMale();
//=> true
(new Personnummer('1212121212'))->isFemale();
//=> false
See PersonnummerTest.php for more examples.
MIT