【问题标题】:How to validate javascript content in angular如何以角度验证javascript内容
【发布时间】:2019-05-28 14:14:01
【问题描述】:

在我的表单中,我有一个文本区域。 textarea 必须只允许 javascript 内容。我必须验证文本区域内容,以检查它是否是 javascript。如何检查文本区域是否包含仅是有效 javascript 内容的数据?

【问题讨论】:

  • 你的问题不清楚。
  • 我有一个表单,它允许选择 js 类型的文件并允许在 textarea 中编写 jscode,我如何验证 textarea 中编写的 jscode?​​span>
  • 如果你想验证 textarea 的代码,你可以通过将 eslint 作为脚本嵌入来实现。请参阅eslint.org/docs/developer-guide/nodejs-api 了解更多信息。

标签: javascript angular


【解决方案1】:

使用 acorn 之类的 JavaScript 解析器,检查是否可以正确解析 textarea 内容。

下面的 sn-p 使用acorn 尝试解析两个文本区域的内容,一个包含有效的 JavaScript,一个只包含纯文本。

function validateJs(textareaId) {
  const textarea = document.getElementById(textareaId);
  
  try {
    acorn.Parser.parse(textarea.value);
  } catch(e) {
    textarea.style.backgroundColor = 'red';
    return false;
  }
  
  textarea.style.backgroundColor = 'green';
  return true;
}

validateJs('good');
validateJs('bad');
<script src="https://cdnjs.cloudflare.com/ajax/libs/acorn/6.1.1/acorn.js"></script>

<textarea id="good" rows="4" cols="25">
function add(a, b) {
  return a + b;
}
</textarea>

<textarea id="bad" rows="4" cols="25">
Hello world!
</textarea>

【讨论】:

  • 使用 acorn.Parser.parse(textarea.value) 并使用 npm i acron 安装了 acron,但它显示错误
  • 作为一个模块使用是不同的。请参阅 GitHub 页面上的源代码/文档。
猜你喜欢
  • 1970-01-01
  • 2019-05-21
  • 1970-01-01
  • 2020-06-24
  • 2023-03-29
  • 1970-01-01
  • 2021-08-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多