Olá, boa noite
O enunciado diz que o limite é de 10 caracteres, como poderíamos validar se existe no máximo 10 caracteres no 'target', levando em consideração que o primeiro caractere não é um número?
Olá, boa noite
O enunciado diz que o limite é de 10 caracteres, como poderíamos validar se existe no máximo 10 caracteres no 'target', levando em consideração que o primeiro caractere não é um número?
Na verdade, André, vamos ver as condições direito:
(2) implica que o caractere é uma letra, então poderíamos utilizar o conjunto [a-zA-Z], porém (3) implica que o primeiro caractere só pode ser uma letra minúscula, pois somente a partir do segundo é permitido utilizar "maiúsculas, minúsculas e números", indicando que o primeiro caractere tem o seguinte conjunto: [a-z]
.
Ok, a partir daí podemos usar maiúsculas, minúsculas e números, então temos o seguinte conjunto: [a-zA-Z0-9]
. Porém, podemos ter somente mais 9 caracteres, então precisamos incluir um modificador de contagem de 0 a 9 (entre zero e nove caracteres): [a-zA-Z0-9]{0,9}
.
E por que de zero a nove? Porque não definiram uma limitação mínima para o nome de usuário, então o mínimo é um, que é o primeiro caractere que só pode ser uma letra minúscula. A partir daí, podemos ter no máximo mais nove caracteres.
Então a regex final fica assim:
[a-z][a-zA-Z0-9]{0,9}