JavaScript

JavaScript - C# String.Contains メソッドの代わり

2013年2月18日

注意:ES5 では、includes メソッドを利用して同じ要件を達成することができます。詳しくは、下記記事を参照ください。
https://watermargin.net/programming/javascript/javascript-string-includes/

今回は、JavaScript で対象となる文字列に調べたい文字が含まれるかを調べる方法です。

C# では Contains メソッドがありますが、JavaScript には Contains メソッドがありません。代わりに indexOf() メソッドを利用します。このメソッドの引数には調べたい文字を指定します。
戻り値には引数の文字が何番目に現れるかを返します。引数の文字が含まれない場合は"-1"が返りますので、これを使って判定ができます。

function checkValue()
{
    var button = document.getElementById("abc");
    if(button.value.indexOf("C") !== -1)
    {
        // 含まれている場合
        alert("C は" + button.value.indexOf("C") + "番目です。");
    }
    if(button.value.indexOf("D") == -1)
    {
        // 含まれていない場合
        alert("D は含まれません。");
    }
}
<input id="abc" onclick="checkValue()" type="button" value="ABC" />

参考:Method like String.contains() in JavaScript

-JavaScript