Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证用户输入文本,查看它是否为';这是一个语法正确的javascript函数_Javascript_Java_Jquery_Validation_Dsl - Fatal编程技术网

验证用户输入文本,查看它是否为';这是一个语法正确的javascript函数

验证用户输入文本,查看它是否为';这是一个语法正确的javascript函数,javascript,java,jquery,validation,dsl,Javascript,Java,Jquery,Validation,Dsl,我正在实现一个服务,它使用以javascript函数形式编写的领域特定语言(DSL)。我试图通过UI接受规则。规则将是用户在UI的文本区域中输入的字符串。是否有方法验证用户输入的文本是否是前端中的有效javascript函数(使用javascript/jquery等机制) 我目前正在下面的后端执行此操作,并捕获异常以查看是否失败: ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn"); engine.

我正在实现一个服务,它使用以javascript函数形式编写的领域特定语言(DSL)。我试图通过UI接受规则。规则将是用户在UI的文本区域中输入的字符串。是否有方法验证用户输入的文本是否是前端中的有效javascript函数(使用javascript/jquery等机制)

我目前正在下面的后端执行此操作,并捕获异常以查看是否失败:

ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
engine.eval(new FileReader("script.js"));
示例规则:

var rules = function(inputMap) {
  // boilerplate
  var Attribution = Java.type('com.sunapana.type.Attribution');
  var attr = new Attribution("Unknown", "Unknown", "Unknown");

  // logic
  if (inputMap.shareId != null && inputMap.shareId.length > 0) {
    attr = new Attribution("Sharing", inputMap.source, inputMap.shareId);
  } else (inputMap.refTag != null && inputMap.refTag.length > 0) {
    attr = new Attribution("Marketing", inputMap.source, inputMap.refTag);
  }
  return attr;
};

提前感谢。

javascript还有
eval()
try…catch
…不确定这是否对年轻人有效避免
eval
,这是邪恶的。为什么不通过JavaScript解析器运行它呢?如果它可以构建AST,那么它就是有效的JavaScript。