Rexact
Cheatsheet

Regex numéro de téléphone suédois

Le plan suédois de PTS compte 264 indicatifs de zone ; le 0 est le préfixe de tronc et disparaît avec +46. Un numéro compte 7 à 9 chiffres après le 0 : « 08-123 456 78 » (Stockholm), « 031-123 456 » (Göteborg), « 070-123 45 67 » (mobile, toujours 9 chiffres). Les tentatives réelles relues se limitent aux mobiles : la regex de validator.js refuse 078, celle de sent.dm suppose que les espaces et tirets ont été retirés et accepte 077 (numéro partagé), et celle de Drupal exige un format précis avec le tiret et des espaces. Voici un motif qui couvre fixes et mobiles, comparé à ces tentatives.

/^(?:(?:\+|00)46[ -]?|0)(?:7[02-9](?:[ -]?[0-9]){7}|[1-689](?:[ -]?[0-9]){6,8})$/
passe 35/35 cas

Comparatif des patterns existants

Implémentation

const re = new RegExp("^(?:(?:\\+|00)46[ -]?|0)(?:7[02-9](?:[ -]?[0-9]){7}|[1-689](?:[ -]?[0-9]){6,8})$", "");
re.test(input);

Limites

  • Valide seulement la FORME : ne vérifie pas que le numéro est attribué ni que l'indicatif de zone existe : tout premier chiffre 1-6, 8 ou 9 passe, alors que le plan de PTS liste 264 indicatifs.
  • Les mobiles sont acceptés pour 070, 072 à 079 (9 chiffres) ; PTS les classe comme mobiles pour 070, 072, 073, 076, 078 et 079, tandis que 074 (radiomessagerie), 075 (personnel) et 077 (partagé) passent aussi ici. Le 071 (haut débit mobile, 13 chiffres) est rejeté.
  • Après +46 ou 0046, le 0 de tronc ne doit pas être gardé : « +46 070… » est rejeté. Un tiret ou une espace facultatifs sont acceptés entre deux chiffres quelconques ; parenthèses, points et extensions sont rejetés.
  • Les numéros de routage et de messagerie vocale (jusqu'à 13 chiffres, comme 025x) et les codes courts (90 XYZ, 112, 113 13, 116 XYZ…) ne sont pas acceptés.

Numéros de téléphone d’autres pays

Pages liées