Вы можете присоединить шаблоны к одному символьному классу и применить ограничивающий квантификатор к классу, а не только к шаблону _
. Обратите внимание, что пробел имеет смысл внутри шаблона, и {4, 16}
соответствует строке {4, 16}
, он не анализируется как квантификатор.
Вы можете использовать
var regex = /^[a-z\d_]{4,16}$/;
function validateUsr(username) {
return regex.test(username)
}
console.log(validateUsr('asddsa')); // Correct Output - true
console.log(validateUsr('a')); // Correct Output - false
console.log(validateUsr('Hass')); // Correct Output - false
console.log(validateUsr('Hasd_12assssssasasasasasaasasasasas')); // Correct Output - false
console.log(validateUsr('')); // Correct Output - false
console.log(validateUsr('____')); // Correct Output - true
console.log(validateUsr('012')); // Correct Output - false
console.log(validateUsr('p1pp1')); // Correct Output - true
console.log(validateUsr('asd43 34')); // Correct Output - false
console.log(validateUsr('asd43_34')); // Correct Output - true
^[a-z\d_]{4,16}$
- см. Его демо - образец означает:
^
- начало строки [
- начало класса символов: a-z
- строчные буквы ASCII \d
- ASCII di git _
- подчеркивание
]{4,16}
- конец класса, повторите от четырех до шестнадцати раз $
- конец строки.