2012-07-29 12 views
5

Wie kann ich eine Zeichenfolge aus Benutzereingaben analysieren und sie in eine bedingte JavaScript-Anweisung umwandeln?Analysieren von Benutzereingaben für bedingte JavaScript-Anweisungen

Zum Beispiel, wenn der Benutzer gibt die follwing Zeichenfolge in ein texbox

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

Wie kann ich neu erstellen diese Zeichenfolge die folgende Server-Seite auszuführen Javascript

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

Meine App auf Knoten gebaut .js, wenn diese Info überhaupt hilft. Ich kenne die Funktion eval(), aber ich muss zuerst die Variablen aus dem Benutzerausdruck holen, bevor ich sie auswerte.

Dies erscheint zu kompliziert für reguläre Ausdrücke. Wenn jemand einen einfachen Parser kennt, der so etwas erreichen würde, wäre das großartig.

+0

Warum ist "y = 2"? Denken Sie auch an Sicherheit. –

+0

Sicherheit wäre ein Mörder, auch wenn es dem "Sandboxing" und dem Sandboxing entgehen sollte. –

Antwort

4

Esprima ist ziemlich cool: http://esprima.org/

Sie es in Knoten ausgeführt werden können oder in einem Browser.

+0

Das sieht gut aus. Danke für das Teilen. –

+0

Danke für das Teilen – v1r00z

Verwandte Themen