0

我使用 \ (bakcslash) 进行 regExr Match 超出范围错误.. ..solution please.....!!

 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)
4

1 回答 1

2

不要将反斜杠放在 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],因此您不需要在车类中增加额外空间

于 2013-09-26T10:09:29.667 回答