3

I got Invalid range in character class issue when trying to use regex

/^[a-zA-Zа-яА-ЯЁё0-9_-\s]{6,20}$/

But the issue is only in Firefox, in Chrome it's ok.

With this regex I am trying to say "only latin, russian letters, numbers, space and '_' and '-' signs allowed"

Lambrusco.Newbie
  • 159
  • 2
  • 13

1 Answers1

5

The _-\s is creating a range between the underscore and space characters. You need to either escape the - as in _\-\s or put it at the end:

[a-zA-Zа-яА-ЯЁё0-9_\s-]

Also beware of the а-я range. If this is the same as the Latin 1 a the range may not be what you expect at all.

Explosion Pills
  • 188,624
  • 52
  • 326
  • 405