正则表达式中字符类无效的范围 Firefox

3

当尝试使用正则表达式时,我遇到了“字符类范围无效”的问题。

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

但问题只出现在Firefox中,在Chrome中没有问题。

使用这个正则表达式,我想表达的是“只允许拉丁字母、俄文字母、数字、空格、'_'和'-'符号”。


2
尝试将“-”放置在类的开头或结尾,或进行转义处理。 - Casimir et Hippolyte
可能是 接受正则表达式中的国际名称字符 的重复内容。 - Cerbrus
谢谢Casimir,那就是问题所在! - Lambrusco.Newbie
1个回答

5
< p > _-\s 创建了下划线和空格字符之间的范围。您需要转义 -,例如 _\-\s 或将其放在末尾:< /p >
[a-zA-Zа-яА-ЯЁё0-9_\s-]

同时要注意 а-я 范围。如果这与拉丁1中的 a 相同,那么该范围可能与您期望的不同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接