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

是否可以检测字符串是否包含javascript?,javascript,regex,ace-editor,Javascript,Regex,Ace Editor,我试图找出是否有可能检测给定字符串是否是JavaScript脚本,以便自动设置Ace编辑器 “约定规则”是指我可以拥有以下内容: var x = function(){ alert('hello world'); } 。。。这可以作为JS安全地“验证”吗?不幸的是,这将存储在数据库中,因此我不能依赖文件类型扩展名。在最坏的情况下,我可能不得不将其标记为JS内容,但目前我正试图避免这种情况。这是一个非常重要的解决方案,但您肯定可以在其上运行完整的Javascript解析器。其中有

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

“约定规则”是指我可以拥有以下内容:

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

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

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

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


不过,我不确定是否还有其他更轻量级的技术。

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

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


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

我认为您不会用正则表达式解决这个问题。您为什么要避免将脚本语言存储在数据库中?这似乎是最好的解决方案。我不会试图避免将其存储在数据库中。我试图避免在db中将其标记为JS。我正在探索检测输入值是否为JS的可行性。我不认为你会用正则表达式来解决这个问题。你为什么试图避免在DB中存储脚本语言?这似乎是最好的解决方案。我不会试图避免将其存储在数据库中。我试图避免在db中将其标记为JS。我正在探索检测输入值是否为JS的可行性。不要忘记用javascript-jslint编写的原始javascript解析器。linting只是底层代码的一个应用程序。隐藏在jslint中的是一个非常快速、非常小的js解析器。不要忘记用javascript-jslint编写的原始javascript解析器。linting只是底层代码的一个应用程序。隐藏在jslint中的是一个非常快速、非常小的js解析器。