我正在处理一个项目,其中一个要求是用户可以在一个简单的文本区域组件上编写自己的javascript代码。
这很简单,但我必须验证语法,例如' error:missing;最后' ...就像大多数语法检查程序一样。
我不想开发它,因为它需要花费很多时间。
有人知道插件是否存在吗? 我找到了一个名为Javascript Lint但它是一个.exe文件,它没有与Java的原生集成(它是一个java ee项目,jsp文件等)
感谢您的帮助!
答案 0 :(得分:1)
这是一个简单的自上而下的解析器:https://github.com/douglascrockford/TDOP/blob/master/parse.js。
更复杂的解析器是JSLint:https://github.com/douglascrockford/JSLint。 JSLint是半解析器,具有C风格的“lint”工具(用于检查常见错误),但是您可以通过不向用户报告“lint”结果来使用解析器一半。您也可以关闭所有“lint”支票。
主要区别在于JSLint会执行诸如检查变量的定义和范围以及检查其他错误/常见错误做法等事情。
答案 1 :(得分:0)
如果数据不重要,您可以要求用户将他们的数据粘贴到http://www.jslint.com/(Doug Crockford的网站)中,并在JSON中显示错误。
我们在JS应用程序中使用了YUI,因此我们使用YAHOO.lang.JSON.parse(您的textarea的json内容)来验证用户的Json。但是,我们永远无法在Json中给出一个确切的错误列表,我们只能告诉他们Json是否有效。
由于