有没有一种方法可以检测文本区域内的编程代码



就像我上面写的那样,我正在寻找一个RegEx来检测textarea内部的代码,例如:

textarea {
width: 100%;
height: 300px;
}
<textarea></textarea>

关于检测代码,我指的是这个星球上存在的每一种编程语言或CSS或任何东西。也许有RegEx或其他什么?

您不能用一个RegEx检测所有编程语言

但是你可以检测到一种语言。例如,这里有一个正则表达式来检测一些HTML代码:

let myRegularExpression = new RegExp(/<s*.*>/ig);

这是您的代码:

document.getElementsByTagName("textarea")[0].addEventListener("keyup", function() {
let myRegularExpression = new RegExp(/<s*.*>/ig);
if(myRegularExpression.test(this.value)) {
alert("That's HTML!");
}
});
textarea {
width: 100%;
height: 300px;
}
<textarea></textarea>

对于JavaScript,使用以下正则表达式(检测变量(:

let myRegularExpression = new RegExp(/vars*.*;/g);

这是您的代码:

document.getElementsByTagName("textarea")[0].addEventListener("keyup", function() {
let myRegularExpression = new RegExp(/vars*.*;/g);
if(myRegularExpression.test(this.value)) {
alert("That's JavaScript!");
}
});
textarea {
width: 100%;
height: 300px;
}
<textarea></textarea>

如果你正在查看CodeMirror、highlight.js、Monaco或ACE等语法高亮显示,你也可以查看一些库,并查看它们的代码!

最新更新