You have to put your regex /^a-zA-Z0-9_-$/
in a character class /[...]/
.
It means you can match any character in the character class. You should also specify a quantifier, because /^[a-zA-Z0-9_-]$/
will match only one character.
Examples:
/^[a-zA-Z0-9_-]+$/
with the +
sign you match it one or more time
/^[a-zA-Z0-9_-]{1,}$/
the same as above
/^[a-zA-Z0-9_-]{10,20}$/
between 10 and 20 character long.
/^[a-zA-Z0-9_-]{15}$/
it has to be exactly 15 characters long. You can use it to check the string length.
You can also use the following keyword to make your regex easy to read:
/^[w-]+$/
which matches a word character (including underscore, letters and digits) or a dash, one or more time.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…