答案 0 :(得分:2)
当然! 只需使用JS解析器,例如Esprima(行业中的参考),并执行:
function isIsReallyJSCodeOrWhat(code) {
try {
esprima.parse(code);
} catch (err) {
return false;
}
return true;
}
就这么简单。 JS解析器(esprima,acorn等)都基于Estree规范。试着看看esprima.parse
产生的AST。它易于阅读和修改。通过这种方式,您可以检查代码是否执行任何您不想要的操作,它不会引用某些特定变量等。
如果您想快速测试一些代码并查看它产生的AST,请转到http://esprima.org/demo/parse.html。