2016-10-22 6 views
1

私はウクライナの表音キーボードを作っています。人々は英語で入力し、文字は自動的に対応するウクライナ語の文字に変更されます。しかし、私はそれを使用しているときに、時には自分自身を英語で書く必要があります(コード内のコメントと同じ目的を他の人や自分自身に提供します)。テキストエリアで開いているタグを確認してください。

コメントの先頭にタグ(「<」)を指定したいと考えています。現在開いているタグがあるかどうかを確認するにはどうすればよいですか?

私はこのような何か考えている:私はしかしtranslation-を無効にする方法を理解

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

あなたは

var string = "<<<>>"; 

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

あなたのケースでは.match()

を使用して非常に明確answer-おかげで、特定の文字の数をカウントすることができます! – Zackh105

1

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

と一時下記のようなあなたのデータがどこにあるか、あなたが行うことができますに応じて、テキストエリア

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

・ホープこれは、歓声を助ける!

関連する問題