我在jquery.validate.js中有以下问题,我发现控制台中的问题是由于以下声明:
!"Specializations[d6cec914-45dc-4b66-877b-98eca23ba543].IsChecked-error".match(new RegExp("\b" + "Specializations[d6cec914-45dc-4b66-877b-98eca23ba543].IsChecked-error"+ "\b" ))
我为你们改变了价值。
我收到了错误:
SyntaxError: invalid range in character class
可能会有' - '但我对正则表达式知之甚少。 请做必要的谢谢。
答案 0 :(得分:1)
字符“[”和“]”是正则表达式中的元字符,具有特殊含义,不能用作模式中的常规字符。
http://en.wikipedia.org/wiki/Regular_expression
[]。括号表达式。匹配括号内包含的单个字符。例如,[abc]匹配“a”,“b”或“c”。 [a-z]指定匹配从“a”到“z”的任何小写字母的范围。这些形式可以混合:[abcx-z]匹配“a”,“b”,“c”,“x”,“y”或“z”,[a-cx-z]也是如此。 如果 - 字符是括号内的最后一个或第一个(在^,如果存在之后)字符,则将字符视为文字字符:[abc-],[ - abc]。请注意,不允许使用反斜杠转义。如果]字符是第一个(在^后面)字符,可以包含在括号表达式中:[] abc]。
答案 1 :(得分:1)
您需要转义字符串中的[
和]
字符,因为它们用于在正则表达式中创建字符集:
new RegExp("\b" + "Specializations\\[d6cec914-45dc-4b66-877b-98eca23ba543\\].IsChecked-error"+ "\b" )