Rexact
Cheatsheet

Regex SteamID64 (Steam)

Un SteamID64 n'est pas juste « 17 chiffres » : Valve fixe un plancher numérique fixe (76561197960265728) pour tout compte individuel, ce qui impose que les 7 premiers chiffres soient toujours « 7656119 ». Le package npm steamid-regex vérifie la longueur mais ignore complètement ce préfixe — un nombre aléatoire de 17 chiffres y passerait comme valide. Voici un motif qui impose ce préfixe documenté par Valve, comparé à trois tentatives trouvées sur GitHub et npm.

/^7656119\d{10}$/
passe 20/20 cas

Comparatif des patterns existants

Implémentation

const re = new RegExp("^7656119\\d{10}$", "");
re.test(input);

Limites

  • Valide seulement la FORME (17 chiffres, préfixe 7656119) : ne vérifie pas que le nombre complet est réellement supérieur ou égal au plancher exact de Valve (76561197960265728) — un identifiant syntaxiquement valide selon ce motif peut être numériquement inférieur à ce plancher et ne correspondre à aucun compte réel.
  • Ne consulte pas l'API Steam : seule une requête réelle (ISteamUser/GetPlayerSummaries) confirme qu'un SteamID64 est associé à un compte existant.
  • Ne couvre que les comptes individuels sur l'univers « Public » : les serveurs de jeu, groupes Steam et autres types de compte suivent des plages de préfixes différentes, non couvertes ici.
  • Ne convertit pas depuis les autres formats d'identifiants Steam (SteamID2 du type « STEAM_0:1:41082347 », SteamID3 du type « [U:1:82164695] ») : ce motif valide uniquement la forme 64 bits, la conversion entre formats nécessite un calcul, pas une regex.