Need a regex that will check if the string only consist letters a-z and numbers and underscore(_) and hyphen(-)

前端 未结 5 474
甜味超标
甜味超标 2020-12-31 10:39

I\'m looking for a regex that will check if the string only consists of the letters a-z, numbers, underscore (_) and hyphen (-). I have tried this,

5条回答
  •  失恋的感觉
    2020-12-31 10:51

    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.

提交回复
热议问题