最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Invalid range in character class Regex Firefox - Stack Overflow

programmeradmin1浏览0评论

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"

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"

Share Improve this question asked May 6, 2014 at 14:04 Lambrusco.NewbieLambrusco.Newbie 1692 silver badges13 bronze badges 3
  • 2 Try to put the - at the end or at the begining of the class or escape it. – Casimir et Hippolyte Commented May 6, 2014 at 14:05
  • possible duplicate of Accept international name characters in RegEx – Cerbrus Commented May 6, 2014 at 14:05
  • Thanks Casimir that was the issue! – Lambrusco.Newbie Commented May 6, 2014 at 14:07
Add a ment  | 

1 Answer 1

Reset to default 6

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.

发布评论

评论列表(0)

  1. 暂无评论