字符类 Regex Firefox 中的范围无效

Lam*_*bie 3 javascript regex firefox

尝试使用正则表达式时出现字符类问题中的无效范围

\n\n
/^[a-zA-Z\xd0\xb0-\xd1\x8f\xd0\x90-\xd0\xaf\xd0\x81\xd1\x910-9_-\\s]{6,20}$/\n
Run Code Online (Sandbox Code Playgroud)\n\n

但这个问题只出现在 Firefox 中,在 Chrome 中则没问题。

\n\n

通过这个正则表达式,我试图说“只允许拉丁文、俄文字母、数字、空格和\'_\'和\'-\'符号”

\n

Exp*_*lls 5

正在_-\\s创建下划线和空格字符之间的范围。您需要转义-as_\\-\\s或将其放在末尾:

\n\n
[a-zA-Z\xd0\xb0-\xd1\x8f\xd0\x90-\xd0\xaf\xd0\x81\xd1\x910-9_\\s-]\n
Run Code Online (Sandbox Code Playgroud)\n\n

还要注意范围\xd0\xb0-\xd1\x8f。如果这与 Latin 1 相同,则a范围可能根本不是您所期望的。

\n