frozzare / personnummer
Validate Swedish social security numbers
Fund package maintenance!
Open Collective
Installs: 140 409
Dependents: 0
Suggesters: 0
Security: 0
Stars: 30
Watchers: 5
Forks: 9
Open Issues: 2
Type:utility
Requires
- php: >=7.3
Requires (Dev)
- ext-json: *
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.0
- jchook/phpunit-assert-throws: ^1.0
- phpcompatibility/php-compatibility: ^9.3
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.6
This package is auto-updated.
Last update: 2023-09-05 07:15:17 UTC
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 |
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 |
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