我要去心理试图找出为什么这不起作用:为什么这个Javascript RegExp测试不工作?
function hasOnlyWhitelistedCharacters(string)
{
var whitelist = RegExp("\\w");
console.log(whitelist.test(string));
return whitelist.test(string);
}
当我运行此字符串: “WWWW ????? * * <> <> <”
该函数返回true。它不应该返回错误吗?事实上,似乎不管我做什么,它都是真实的。
这些也不起作用:
var whitelist = RegExp(\w);
var whitelist = /\w/;
最终,我试图列出所有unicode字符,但禁止可用于脚本注入攻击的任何字符。 – Questioner
你在说XSS吗?您需要在服务器上执行此操作。除非你使用服务器端JS,否则上述永远不会是一个安全的解决方案。 – outis
+1代码!今天早些时候我刚刚花费了一些时间,发现Javascript不支持基于POSIX的Unicode字符识别方式,在这里您可以看到我正在实现的Unicode范围解决方案。真棒。感谢那。 – Questioner