0

我试图找出是否可以检测给定的字符串是否是 JavaScript 脚本,以便自动设置 Ace 编辑器。

“参与规则”将是这样的,我可以拥有以下内容:

var x = function(){
    alert('hello world');
    }

...这可以作为 JS 安全地“验证”吗?不幸的是,这将存储在数据库中,因此我不能依赖文件类型扩展名。在最坏的情况下,我可能不得不将其标记为 JS 内容,但现在我正试图避免这种情况。

4

1 回答 1

3

这是一个重量级的解决方案,但您当然可以在其上运行完整的 Javascript 解析器。其中有许多是用 Javascript 编写的,例如 Uglify、Narcissus、Esprima、Acorn 和 ZeParser。

大概其中任何一个都会告诉您您的字符串是否包含合法的 Javascript,并在它包含的情况下为您提供完整的语法树。

不过,我不确定是否有任何更轻量级的技术。

于 2013-02-06T18:37:01.843 回答