2016-10-22 31 views
1

我正在制作一个乌克兰语拼音键盘。人们输入英文,这些字母自动变为相应的乌克兰字符。但是,当我使用它时,我有时需要用英语书写自己的笔记(它们与代码中的注释一样用于其他人和我自己)。检查textarea中的打开标记

我想用标记(“<”)表示评论的开始。我如何检查当前是否有打开的标签?

我想是这样的:

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

我明白不过了如何禁用译本,我不能确定有关 “如果”

我如何检查是否

number of "<" is greater than ">" 

谢谢!

回答

1

可以使用.match计数的特定字符数()

在你的情况

var string = "<<<>>"; 

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

非常明确答案 - 感谢! – Zackh105

1

他们每个人的计算是像下面

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

和temp是textarea的

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; 
} 

希望这有助于,欢呼!