Rexact
Cheatsheet

Regex nom d'utilisateur Mastodon

Sur Mastodon, un compte local a un nom d'utilisateur de 1 à 30 caractères parmi les lettres, chiffres et le tiret bas, sans distinction de casse (code source : modèle Account). Pour les comptes distants, le même modèle accepte aussi des points et des tirets à l'intérieur du nom. Les tentatives relues le reflètent : le motif USERNAME_ONLY_RE de Mastodon (comptes distants) accepte « alice.smith » et « a-b », la règle des comptes locaux n'a pas de borne de longueur dans la regex (la limite de 30 est une validation séparée), et Maigret, qui sonde mastodon.social, reprend « [a-zA-Z0-9_]+ » sans borne. Voici un motif qui applique la règle locale et sa limite de 30 caractères, comparé à ces tentatives.

/^[a-z0-9_]{1,30}$/i
passe 26/26 cas

Comparatif des patterns existants

Implémentation

const re = new RegExp("^[a-z0-9_]{1,30}$", "i");
re.test(input);

Limites

  • Valide seulement la forme d'un nom d'utilisateur LOCAL (sans domaine). Les comptes distants (« alice.smith@autre.instance ») suivent une règle plus large, et l'adresse complète « @nom@domaine » n'est pas couverte (voir la fiche domain-name pour la partie domaine).
  • Les noms réservés (admin, root, etc.) et l'unicité sont contrôlés par le serveur, pas par la regex ; chaque instance peut être configurée avec une règle différente (plugins, versions anciennes). La règle vient du code source de Mastodon, pas d'une spécification publiée.
  • La casse n'est pas significative sur Mastodon : « Alice » et « alice » désignent le même compte. Normalisez en minuscules avant de comparer.

Pages liées