2012-07-29 2 views
5

ユーザー入力から文字列を解析し、JavaScriptの条件文に再構築する方法を教えてください。JavaScriptの条件文のユーザー入力を解析します。

ユーザーがtexboxにfollwing文字列を入力した場合たとえば、

x==1 && y==2 || (z!=3) 

がどのように私は

if (vars['x'] == 1 && vars['y'] == 2 || (vars['z'] != 3)) 

マイアプリはノード上に構築されているjavascriptの次のサーバー側を実行するためにこの文字列を再作成することができますその情報がまったく役に立ったら.js。私はeval()関数を認識していますが、評価の前にまずユーザー式から変数を取得する必要があります。

これは正規表現では複雑すぎるようです。誰かがこのような何かを達成する単純なパーサを知っていれば、それは素晴らしいものになるでしょう。

+0

なぜ 'y = 2'ですか?また、セキュリティについて考える。 –

+0

''をエスケープしてサンドボックス化すれば十分であるにもかかわらず、セキュリティはキラーになるでしょう。 –

答えて

4

Esprimaはか​​なりクールです:http://esprima.org/

あなたはノード内またはブラウザでそれを実行することができます。

+0

これは素晴らしいですね。共有してくれてありがとう。 –

+0

共有ありがとうございます – v1r00z

関連する問題