Regex para username

Use /^[A-Za-z][A-Za-z0-9_]{2,15}$/ para verificar se uma string inteira é um username válido. Cada exemplo abaixo foi testado contra o padrão, e você pode abri-lo no Testador de Regex com as amostras já carregadas.

Atualizado em

/^[A-Za-z][A-Za-z0-9_]{2,15}$/
Abrir no Testador de Regex
EntradaResultado
john_doe✓ Corresponde
Dev2026✓ Corresponde
abc✓ Corresponde
2cool✗ Não corresponde
ab✗ Não corresponde
john.doe✗ Não corresponde
this_name_is_too_long✗ Não corresponde

Como o padrão funciona

ParteSignificado
^[A-Za-z]Deve começar com uma letra
[A-Za-z0-9_]{2,15}De 2 a 15 letras, dígitos ou sublinhados a mais (3 a 16 caracteres no total)
$Fim da string

Exemplos de código

JavaScript

const re = /^[A-Za-z][A-Za-z0-9_]{2,15}$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'[A-Za-z][A-Za-z0-9_]{2,15}', value))

PHP

preg_match('/^[A-Za-z][A-Za-z0-9_]{2,15}$/', $value) === 1;

Observações e limitações

Ajuste o tamanho e o conjunto de caracteres às suas regras, e compare usernames sem diferenciar maiúsculas de minúsculas, para que “Admin” e “admin” não possam ser cadastrados ao mesmo tempo.

Perguntas frequentes

Qual é a regex para username?
/^[A-Za-z][A-Za-z0-9_]{2,15}$/ — ela corresponde à string inteira. Veja a tabela acima para entender o que cada parte faz.
Quais exemplos correspondem?
Dos exemplos testados, estes correspondem: john_doe, Dev2026, abc. Os outros não.
Como testo essa regex?
Clique em “Abrir no Testador de Regex” — o padrão, as flags e o texto de exemplo são carregados automaticamente, e as correspondências são destacadas conforme você edita.