解析JavaScript条件语句的用户输入

时间:2012-07-29 02:33:41

标签: javascript parsing

如何从用户输入中解析字符串并将其重建为javascript条件语句。

例如,如果用户将以下字符串输入到texbox

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

如何重新创建此字符串以执行以下服务器端javascript

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

我的应用程序是基于node.js构建的,如果该信息有帮助的话。我知道eval()函数,但我需要在评估之前首先从用户表达式中获取变量。

这对于正则表达式来说似乎太复杂了。如果有人知道一个简单的解析器可以完成这样的事情会很棒。

1 个答案:

答案 0 :(得分:4)

Esprima很酷:http://esprima.org/

您可以在节点或浏览器中运行它。