javascript - RegExr 超出 JavaScript 中反斜杠的范围

标签 javascript regex

我因使用\(bakcslash) 进行 regExr 匹配而出现超出范围错误.. ..请解决......!!

 if ($('.channelquickvalidte').val().match("^[a-zA-Z\s0-9, '@+&$,._!#%^*()_+=/<>\\]+$") == null)  /* Error... */

{ alert("Character between A-Z/a-z and 0-9 are allowed. Additional you can use \"''@+&,._$!#%^*()_+=<>/\\\" character"); // its working fine

错误::

SyntaxError: invalid range in character class
(5525 out of range 177)

最佳答案

不要将反斜杠放在 char 类的末尾,使用:

match("^[a-zA-Z\s0-9, '@+&$,._!#%^*()_+=/\\<>]+$")

match("^[a-zA-Z\s0-9, '@+&$,._!#%^*()_+=/<>\\\\]+$")

您可以将其减少为:

match("^[\w\s,'@+&$,.!#%^*()+=/\\<>]+$")

\w 通常代表 [a-zA-Z0-9_],但它取决于区域设置。
\s 代表任何空格字符,即。 [\t\r\n\f],因此汽车类中不需要额外的空间

关于javascript - RegExr 超出 JavaScript 中反斜杠的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19022089/

相关文章:

java - 正则表达式:找到最后一次出现的模式

regex - Flutter 检测 UTF8 主题标签

java - 正则表达式查找包含在两个括号之间的字符串

Javascript 禁用调整大小选项

javascript - Promise.race() 多个已解决的 Promise

javascript - 当 Babel 和 Traceur 转译 ES6 解构时,额外变量的目的是什么?

将值重新分配给变量时的 Javascript 性能

javascript - 使用 RaphaelJS 嵌入 SVG

正则表达式检查字符串中是否不存在字符

javascript - JSX 组件 + dangerouslySetInnerHTML?