我试图找出是否可以检测给定字符串是否是 JavaScript 脚本,以便自动设置 Ace 编辑器更多内容。
“参与规则”是这样的,我可以有以下内容:
var x = function(){
alert('hello world');
}
...这可以像 JS 一样安全地“验证”吗?不幸的是,这将存储在数据库中,因此我不能依赖文件类型扩展名。在最坏的情况下,我可能不得不将其标记为 JS 内容,但现在我试图避免这种情况。
最佳答案
这是一个重量级解决方案,但您当然可以在其上运行完整的 Javascript 解析器。其中有许多是用 Javascript 编写的,例如 Uglify、Narcissus、Esprima、Acorn 和 ZeParser。
大概其中任何一个都会告诉您您的字符串是否包含合法的 Javascript,并在包含合法 JavaScript 的情况下为您提供完整的语法树。
不过,我不确定还有什么更轻量级的技术。
关于javascript - 是否可以检测字符串是否包含javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14736212/