我正在使用 javascript 正则表达式进行一些数据验证并指定我想要接受的字符(我想接受任何字母数字字符、空格和以下字符,!&,'\-
如果需要,我可能会在以后添加更多字符)。我的代码是:
var value = userInput;
var pattern = /[^A-z0-9 "!&,'\-]/;
if(patt.test(value) == true) then do something
它工作正常,排除了我不希望用户输入的字母,方括号和插入符号除外。从我读过的所有 javascript 正则表达式教程中,它们都是特殊字符 - 括号表示它们之间的任何字符,而在这种情况下插入符号表示不在方括号之间的任何字符。我在这里和谷歌上搜索了关于为什么这些字符也被接受但找不到解释的解释。
那么任何人都可以帮忙,为什么我的输入接受方括号和插入符号?