javascript - 是否可以检测字符串是否包含javascript?

标签 javascript regex ace-editor

我试图找出是否可以检测给定字符串是否是 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/

相关文章:

javascript - 我如何知道弹出窗口何时加载?

javascript - 我的脚本没有生成随机图像。有人可以告诉我可能是什么原因吗?

c# - 如何从客户端 JavaScript 函数调用服务器方法背后的代码?

ruby - 在纯 ruby​​ 中将驼峰命名法转换为破折号(连字符)

regex - Capybara 从下拉列表中选择正则表达式?

javascript - 王牌编辑器 : Why does the theme/mode not change?

javascript - HTML 和 Web API 之间的不同输入数据

java - 正则表达式:为什么 ^.*(\ba\w*\b)?.*$ 没有捕获任何内容?

javascript - Ace Editor 美化扩展未按预期将 HTML 格式化为新行

ace-editor - ace 编辑器上未触发 keydown 事件