サイトアイコン KOKENSHAの技術ブログ

完全網羅 JavaScriptで文字列が含まれるかどうかの判別方法

JavaScriptで文字列が含まれるかどうかの判別方法はいくつかがあります!(6個)

目次

(ES6) String.prototype.includes

var string = "foo",
    substring = "oo";
string.includes(substring);

文字列が検索値を含む場合、true。含まなければ、false

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/includes

ES5 and older String.prototype.indexOf

var string = "foo",
    substring = "oo";
string.indexOf(substring) !== -1;

indexOf() メソッドは大文字と小文字を区別します。

"Blue Whale".indexOf("Blue");     // 0 を返す
"Blue Whale".indexOf("Blute");    // -1 を返す
"Blue Whale".indexOf("Whale", 0); // 5 を返す
"Blue Whale".indexOf("Whale", 5); // 5 を返す
"Blue Whale".indexOf("");         // 0 を返す
"Blue Whale".indexOf("", 9);      // 9 を返す
"Blue Whale".indexOf("", 10);     // 10 を返す
"Blue Whale".indexOf("", 11);     // 10 を返す

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf

String.prototype.search

var string = "foo",
    expr = /oo/;
string.search(expr);

マッチした場合、文字列内でマッチした箇所のインデックスを返します。マッチしなかった場合は、-1 を返します。

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/search

String.prototype.match

var string = "foo",
    expr = /oo/;
string.match(expr);

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/match

lodash includes

var string = "foo",
    substring = "oo";
_.includes(string, substring);

https://lodash.com/docs#includes

RegExp

var string = "foo",
    expr = /oo/;  // クォーテーションマークはありません
expr.test(string);

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test

まとめ

これだけで、脳の体操になりますね!

これで一つの文字列がもう一つの文字列に含まれるかどうかを判別したいときはもう悩まないですね!

モバイルバージョンを終了