Rexact
Cheatsheet

Regex numéro d'identité norvégien (fødselsnummer)

Un fødselsnummer a 11 chiffres : JJMMAA, un numéro individuel de 3 chiffres et 2 chiffres de contrôle modulo 11. Skatteetaten précise que le D-nummer (étrangers de passage) ajoute 4 au premier chiffre du jour, soit les jours 41 à 71. Les numéros H (aide à l'identité) ajoutent 40 au mois, les numéros de test 80. Les regex de blogs norvégiens s'arrêtent souvent aux numéros ordinaires : celle d'Epinova rejette tout D-nummer et H-nummer. Celle de golimb accepte le jour 32 et le mois 13, et son « [0-9][1-9] » rejette pourtant le jour 50, 60 ou 70 d'un D-nummer. Voici un motif qui borne jour et mois pour les trois types, comparé à ces tentatives.

/^(?:0[1-9]|[12][0-9]|3[01]|4[1-9]|[56][0-9]|7[01])(?:0[1-9]|1[0-2]|4[1-9]|5[0-2]|8[1-9]|9[0-2])[0-9]{7}$/
passe 23/23 cas

Comparatif des patterns existants

Implémentation

const re = new RegExp("^(?:0[1-9]|[12][0-9]|3[01]|4[1-9]|[56][0-9]|7[01])(?:0[1-9]|1[0-2]|4[1-9]|5[0-2]|8[1-9]|9[0-2])[0-9]{7}$", "");
re.test(input);

Limites

  • Valide seulement la FORME : ne calcule pas les deux chiffres de contrôle modulo 11. « 13097248032 » et « 13097248023 » ont la bonne forme mais une clé fausse et passent ce motif. Ne valide pas non plus le jour dans le mois (« 29020112345 », 29 février 2001, passe).
  • Le jour accepte 01-31 et 41-71 (D-nummer), le mois 01-12, 41-52 (H-nummer) et 81-92 (numéros de test). Les D- et H-nummer viennent de la source officielle pour le D (premier chiffre + 4) mais du code de navikt/fnrvalidator pour H et T ; les numéros FH, sans date de naissance par conception, ne sont pas couverts.
  • À partir du 1er janvier 2032, le calcul du premier chiffre de contrôle accepte quatre valeurs et le numéro n'encode plus ni le sexe ni le siècle : le motif de forme reste valable, mais la clé et la lecture du numéro changent.
  • Les exemples sont des numéros autogénérés des tests de navikt/fnrvalidator, dont le README précise qu'ils ne correspondent à personne ; n'utilisez pas de vrais numéros d'identité dans vos tests.

Pages liées