I need to replace all chars which are not match with range a-zA-Z_-0-9
. So I do val.replace(/[^a-zA-Z_-0-9]/g, \'\')
but get error. How can I bit t
You expect that -
character to be parsed as being literal, but it is in fact parsed as a range: _-0
means _
to 0
, just like a-z
means a
to z
. However, since _
has a higher character code than 0
, you get an error.
In your case, just escape it: \-
. This is parsed as the -
character.
You need to escape the "-"
val.replace(/[^a-zA-Z_\-0-9]/g, '')