storbukas/norsk-validator

Validering av norske identifikatorer: fødselsnummer, D-nummer, H-nummer, FH-nummer, DUF-nummer, organisasjonsnummer, MVA-nummer, kontonummer, IBAN og KID

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/storbukas/norsk-validator

dev-main 2025-12-20 22:33 UTC

This package is auto-updated.

Last update: 2025-12-20 23:10:19 UTC


README

Latest Version on Packagist License: MIT

Komplett PHP-bibliotek for validering av norske identifikatorer.

Personidentifikatorer:

  • Fødselsnummer - Personnummer (11 siffer)
  • D-nummer - Midlertidig ID for utenlandske statsborgere
  • H-nummer - Hjelpenummer brukt i helsevesenet
  • FH-nummer - Felles hjelpenummer for ukjente pasienter
  • DUF-nummer - Registreringsnummer i UDIs system (12 siffer)

Organisasjons- og finansidentifikatorer:

  • Organisasjonsnummer - Organisasjonsnummer (9 siffer)
  • MVA-nummer - Merverdiavgiftsnummer
  • Kontonummer - Bankkontonummer (11 siffer)
  • IBAN - Internasjonalt bankkontonummer (norsk format)
  • KID - Kundeidentifikasjon for betalinger

Installasjon

composer require storbukas/norsk-validator

Krav: PHP 8.1 eller nyere

Bruk

Facade-klassen (anbefalt)

use NorskValidator\Validator;

// Personidentifikatorer
Validator::fodselsnummer('01010750160');    // true
Validator::dnummer('41010199946');          // true
Validator::hnummer('01410199935');          // true
Validator::fhnummer('81234567802');         // true
Validator::dufnummer('123456789012');       // true

// Organisasjons- og finansidentifikatorer
Validator::organisasjonsnummer('998447356'); // true
Validator::mvanummer('998447356MVA');        // true
Validator::kontonummer('76940512057');       // true
Validator::iban('NO9386011117947');          // true
Validator::kidnummer('100001928231');        // true

Individuelle validator-klasser

use NorskValidator\Validators\Fodselsnummer;
use NorskValidator\Validators\Kontonummer;

Fodselsnummer::validate('01010750160');  // true
Kontonummer::validate('76940512057');    // true

API

Alle metoder returnerer bool.

Personidentifikatorer

Validator::fodselsnummer(string|int|null $value): bool

Validerer norske fødselsnumre (11 siffer).

Validator::fodselsnummer('01010750160');   // true
Validator::fodselsnummer('020161 26007');  // true (med mellomrom)
Validator::fodselsnummer('11111234567');   // false

Validator::dnummer(string|int|null $value): bool

Validerer D-numre for utenlandske statsborgere. Første siffer er økt med 4 (dag 01 blir 41).

Validator::dnummer('41010199946');   // true
Validator::dnummer('71010199969');   // true
Validator::dnummer('01010750160');   // false (vanlig fødselsnummer)

Validator::hnummer(string|int|null $value): bool

Validerer H-numre brukt i helsevesenet. Tredje siffer er økt med 4 (måned 01 blir 41).

Validator::hnummer('01410199935');   // true
Validator::hnummer('01510199983');   // true
Validator::hnummer('01010750160');   // false (vanlig fødselsnummer)

Validator::fhnummer(string|int|null $value): bool

Validerer FH-numre (Felles Hjelpenummer) for ukjente pasienter. Første siffer er 8 eller 9.

Validator::fhnummer('81234567802');  // true
Validator::fhnummer('91234567883');  // true
Validator::fhnummer('01010750160');  // false

Validator::dufnummer(string|int|null $value): bool

Validerer DUF-numre (12 siffer) brukt i UDIs system.

Validator::dufnummer('123456789012');    // true
Validator::dufnummer('123456 789012');   // true (med mellomrom)
Validator::dufnummer('12345678901');     // false (feil lengde)

Organisasjons- og finansidentifikatorer

Validator::organisasjonsnummer(string|int|null $value): bool

Validerer norske organisasjonsnumre (9 siffer).

Validator::organisasjonsnummer('998447356'); // true
Validator::organisasjonsnummer('998447357'); // false

Validator::mvanummer(string|null $value): bool

Validerer MVA-numre (organisasjonsnummer + "MVA").

Validator::mvanummer('998447356MVA');       // true
Validator::mvanummer('998 447 356 MVA');    // true (med mellomrom)
Validator::mvanummer('998447356');          // false (mangler MVA)

Validator::kontonummer(string|int|null $value): bool

Validerer norske bankkontonumre (11 siffer).

Validator::kontonummer('76940512057');    // true
Validator::kontonummer('7694 05 12057');  // true (med mellomrom)
Validator::kontonummer('7694.05.12057');  // true (med punktum)

Validator::iban(string|null $value): bool

Validerer norske IBAN-numre (NO + 2 kontrollsiffer + 11 siffer kontonummer).

Validator::iban('NO9386011117947');       // true
Validator::iban('NO93 8601 1117 947');    // true (med mellomrom)
Validator::iban('SE9386011117947');       // false (feil landkode)

Validator::kidnummer(string|int|null $value, bool $checkMod11 = true, bool $checkMod10 = true): bool

Validerer KID-numre. Støtter både MOD11 og MOD10 algoritmer.

Validator::kidnummer('100001928231');              // true (sjekker begge)
Validator::kidnummer('100001928231', true, false); // true (kun MOD11)
Validator::kidnummer('100001928231', false, true); // false (kun MOD10)

Testing

composer test

Lisens

MIT