0

Ace エディターを自動的に設定する目的で、特定の文字列が JavaScript スクリプトであるかどうかを検出できるかどうかを調べようとしています。

「エンゲージメントのルール」は、次のようなものです。

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

...これはJSとして安全に「検証」できますか? 残念ながら、これは DB に格納されるため、ファイルの種類の拡張子に依存することはできません。最悪の場合、JS コンテンツとしてマークする必要があるかもしれませんが、今のところはそれを避けようとしています。

4

1 に答える 1

3

これは重いソリューションですが、完全な Javascript パーサーを確実に実行できます。Uglify、Narcissus、Esprima、Acorn、ZeParser など、Javascript で記述されたものが多数あります。

おそらく、それらのいずれかが、文字列に正当な Javascript が含まれているかどうかを教えてくれるだけでなく、含まれている場合は完全な構文ツリーを提供します。

ただし、これ以上軽量な手法はわかりません。

于 2013-02-06T18:37:01.843 に答える