javascript检测文本区域中键入的字符串
javascript中是否有方法检测文本区域中是否键入了单词/字符串?我想检测在Ace编辑器或CodeMirror中输入的字符串javascript检测文本区域中键入的字符串,javascript,textarea,codemirror,ace-editor,Javascript,Textarea,Codemirror,Ace Editor,javascript中是否有方法检测文本区域中是否键入了单词/字符串?我想检测在Ace编辑器或CodeMirror中输入的字符串,然后执行其他操作。听起来它已经实现了,但我不知道如何实现。在Javascript中,可以绑定到DOM对象上的键up/down/press/etc事件。您必须在HTML中设置适当的属性 <textarea onkeyup='checkText(this.value);'></textarea> 这是使用textarea的值(text)调用J
,然后执行其他操作。听起来它已经实现了,但我不知道如何实现。在Javascript中,可以绑定到DOM对象上的键up/down/press/etc事件。您必须在HTML中设置适当的属性
<textarea onkeyup='checkText(this.value);'></textarea>
这是使用textarea的值(text)调用Javascript函数的关键行
下面是一个完整的示例来演示这种用法。由于在调用函数之前,新字符将出现在文本值中,因此最好在键向上时侦听
<html>
<head>
<script type='text/javascript' >
var oldText = '';
function checkText(text)
{
if(text.length >= 1)
{
if(text == '<svg>' && text != oldText)
{
alert("<svg> found");
}
}
oldText = text;
}
</script>
<body>
<textarea onkeyup='checkText(this.value);'></textarea>
</body>
</html>
var oldText='';
函数检查文本(文本)
{
如果(text.length>=1)
{
if(text=''&&text!=旧文本)
{
警惕(“发现”);
}
}
oldText=文本;
}
您可以使用onchange事件将键入的内容与预期内容进行比较
<html>
<script>
function checktext(){
var val = document.getElementById("textbox").value;
// val is what is in the textbox
// compare val here
// for example
if (val == "<svg>"){
alert(val);
}
}
</script>
<body>
<textarea id="textbox" onchange="checktext()"></textarea>
</body>
</html>
函数checktext(){
var val=document.getElementById(“textbox”).value;
//val是文本框中的内容
//在这里比较一下val
//比如说
如果(val==“”){
警报(val);
}
}
我知道这与其他人的答案有些相似,但它提供了一种替代方法:
document.getElementById('textArea').onkeypress = function() {
if(/\<svg\>/i.test(document.getElementById('textArea').value) === true) {
// do whatever you want here
}
}
document.getElementById('textArea')。onkeypress=function(){
if(/\/i.test(document.getElementById('textArea').value)==true){
//在这里你想干什么就干什么
}
}
如果您不熟悉JS中的正则表达式,那么它们是一种很好的方法来查找某些东西中的字符串,比如用户的输入,就像您想要的那样。创建后的i
标志忽略大小写,以防万一您不知道。此外,如果没有onload
事件或类似事件,那么将此脚本放在头部是不可行的——因为文档尚未完全加载,因此脚本没有任何内容可供搜索
希望这有帮助 在CodeMirror中,只要代码发生更改,就会触发“更改”
事件。当触发此命令时,您只需扫描内容以查找感兴趣的字符串。或者,如果您希望看到一个巨大的文档,并且希望这是有效的,那么您只能扫描文档的更改部分(注意处理字符串位于更改部分和未更改部分边界上的情况)
cmInstance.on(“更改”,函数(cm){
if(cm.getValue().indexOf(“”>-1)
doSomething();
});
您不需要迭代文本或调用string.prototype.search()来查看文本?如果在文本区域中输入了其他文本,它就不起作用了?
cmInstance.on("change", function(cm) {
if (cm.getValue().indexOf("<svg>") > -1)
doSomething();
});