检查textarea中的开放标记

时间:2016-10-22 20:23:35

标签: javascript input character

我正在制作乌克兰语音键盘。人们输入英文,字母会自动更改为相应的乌克兰字符。但是,当我使用它时,我有时需要用英语写自己的笔记(它们的作用与代码中的注释相同 - 对于其他人和我自己而言)。

我想用标签表示评论的开头("<")。如何检查当前是否有开放标签?

我在想这样的事情:

if (number of "<" is greater than ">") {//if a tag has been opened and not closed
//disable translation, type in English
}

我理解如何禁用翻译 - 不过,我对此不确定 &#34;如果&#34;

如何检查

number of "<" is greater than ">"

谢谢!

3 个答案:

答案 0 :(得分:1)

计算每一个如下

var countGreaterThan = (temp1.match(/</g) || []).length;
var countLessThan = (temp1.match(/</g) || []).length;

和temp是textarea的字符串值

答案 1 :(得分:1)

根据数据的位置,您可以执行以下操作:

var data = document.querySelector('#data-container').innerHTML;
var isOpenTagPresent = getSymbolCount('<') > getSymbolCount('<');

if(isOpenTagPresent) {
  //execute your logic 
}

function getSymbolCount(symbol) {
  var count = 0;
  for(var i = 0; i < data.length; ++i) {
     if(data[i] === symbol) {
        count++;
     }
  }
  return count;
}

希望这有帮助,欢呼!

答案 2 :(得分:1)

您可以使用.match()

计算特定字符数

在你的情况下

var string = "<<<>>";

if ((string.match(/</g)||[]).length > (string.match(/>/g)||[]).length) {
    console.log("More");
}
else {
    console.log("Less or equal");
}