CodeMirror禁止输入某些字符

问题描述

我正在尝试禁用CodeMirror字段中的某些字符来编写,但是我没有在CodeMirror文档中找到简单的选项,只有CodeMirror事件: https://codemirror.net/doc/manual.html#events 我只需要允许[a-zA-Z0-9!()_&|]字符,并禁止所有其他字符输入。 有人可以帮忙吗?

解决方法

CodeMirror 有一组键盘事件,例如 "keydown""keypress""keyup",您可以使用它们来控制输入。例如,您可以向编辑器添加 "keydown" 事件以禁止输入某些字符:

editor.on("keydown",function (cm,event) {
  if (!event.key.match(/[a-zA-Z0-9!()_&|]/)) {
    event.preventDefault();
  }
});