文字列内の単語を見つける必要があります。文字列はBK
またはWL
の2つの数字で始まります。数字が50より小さいか等しい場合は、単語の色を青、それ以外の場合は赤に変更します。文字列内の特定の単語に色を適用する
私が持っている場合:
32FML EKKF BK30
を私は返す必要があります。
32FML EKKF <span class="blue">BK30</span>
文字列内の単語を見つける必要があります。文字列はBK
またはWL
の2つの数字で始まります。数字が50より小さいか等しい場合は、単語の色を青、それ以外の場合は赤に変更します。文字列内の特定の単語に色を適用する
私が持っている場合:
32FML EKKF BK30
を私は返す必要があります。
32FML EKKF <span class="blue">BK30</span>
お試しください/((BK|WL)(\d{2}))/g
正規表現パターンです。
あなたは50
少ないしを検証する場合は、交換する機能にいくつかternary operator
を適用するには、MysterXがあると何parseFloat()
Demo regex and pattern explanation
var str ='32FML EKKF BK30 BK66'
document.body.innerHTML=str.replace(/((BK|WL)(\d{2}))/g ,(a,b,c,d) => parseFloat(d)<50 ? '<span class="red">'+b+'</span>' : b)
.red{
color:red
}
まあ、私は私のコメントが正しい答えだと思いそう...あなたはそのためregular expressionを使用することができますし、それはです文字列の一致した部分を置換パターンに渡す有用な可能性。このようなもの:
var str = "32FML EKKF BK30";
var highlighted = str.replace(/(BK30)/, '<span class=""blue">$1</span>');
と数の使用に文字列を.parse私はあなたの正規表現も持っています:
"32FML EKKF BK30".replace(/((BK|WL)+\d{2})/, '<span class=""blue">$1</span>')
数字が50以下である場合に! ... –
' "32FML EKKF BK30" .replace(/(BK30)/、「<スパンクラス= "" 青"> $ 1「) ' – MysterX