Yahoo Usuário Regex
-
05-07-2019 - |
Pergunta
Eu preciso de um (php) regex para coincidir com as regras de nome de usuário do Yahoo:
Use 4 a 32 caracteres e começar com uma letra. Você pode usar letras, números, sublinhados, e um ponto (.).
Solução
/^[A-Za-z](?=[A-Za-z0-9_.]{3,31}$)[a-zA-Z0-9_]*\.?[a-zA-Z0-9_]*$/
Ou um pouco mais curto:
/^[a-z](?=[\w.]{3,31}$)\w*\.?\w*$/i
Outras dicas
/[a-zA-Z][a-zA-Z0-9_]*\.?[a-zA-Z0-9_]*/
e verifique se strlen ($ username)> = 4 e <= 32.
A um limite do ponto? Isso é complicado.
Não sou especialista regex, mas acho que isso iria buscá-la, exceto para o seguinte:
[A-Za-z][A-Za-z0-9_.]{3,31}
Talvez você possa verificar o. exigência separadamente?
Usando lookaheads você poderia fazer o seguinte:
^(?=[A-Za-z](?:\w*(?:\.\w*)?$))(\S{4,32})$
Porque você não especificou que tipo de regex que precisava eu ??adicionei um monte de Perl 5 material compatível. Como (?: ... )
para parens não captura.
Nota:. Eu adicionei o paren perto ausente novamente em