Как проверить содержание Javascript в угловых - PullRequest
1 голос
/ 28 мая 2019

В моей форме есть текстовая область. Текстовая область должна разрешать только содержимое JavaScript. Я должен проверить содержимое текстовой области, чтобы проверить, является ли это JavaScript или нет. Как проверить, содержит ли область «Текст» данные, которые являются только допустимым содержимым JavaScript?

1 Ответ

1 голос
/ 28 мая 2019

Используйте синтаксический анализатор JavaScript, например acorn, и проверьте, можете ли вы правильно проанализировать содержимое текстовой области.

В приведенном ниже фрагменте кода используется 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...