No quiero la primera letra de estos caracteres _-.
Usado pero puede usarse entre caracteres
'(^[a-zA-Z0-9-_. ]*$){1,10}'
Si [a-zA-Z0-9-. ]
es el rango permitido de caracteres, debe estar presente de 1 a 10 veces y no puede comenzar con -
o .
entonces no necesitas mirar alrededor.
Puede hacer coincidir el primer carácter [a-zA-Z0-9 ]
y repetir el rango totalmente permitido 0-9 veces.
^[a-zA-Z0-9][a-zA-Z0-9. -]{0,9}$
Vea una demostración de expresiones regulares .
Si también se permite un guión bajo, puede acortar el patrón usando \w
:
^[a-zA-Z0-9][\w. -]{0,9}$
Modifiqué con algunas herramientas en línea y lo siguiente debería funcionar bien:
const regex = /^[^\_\-\.]{1}(.)*/gm; const str = `.awdawd`; let m; while ((m = regex.exec(str)) !== null) { // This is necessary to avoid infinite loops with zero-width matches if (m.index === regex.lastIndex) { regex.lastIndex++; } // The result can be accessed through the `m`-variable. m.forEach((match, groupIndex) => { console.log(`Found match, group ${groupIndex}: ${match}`); }); }
También recomiendo usar el sitio web regex101.com si desea jugar con Javscript regex.