Regex SteamID64 (Steam)
A SteamID64 isn't just "17 digits": Valve sets a fixed numeric floor (76561197960265728) for every individual account, which forces the first 7 digits to always be "7656119". The npm package steamid-regex checks the length but completely ignores this prefix - a random 17-digit number would pass as valid. Here's a pattern enforcing this Valve-documented prefix, compared against three attempts found on GitHub and npm.
/^7656119\d{10}$/passes 20/20 cases
Comparison of existing patterns
Implementation
const re = new RegExp("^7656119\\d{10}$", "");
re.test(input);Limits
- 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.