言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

JavaScript辞典

  1. トップページ
  2. JavaScript辞典
  3. 文字列.indexOf() / lastIndexOf() / includes()

文字列.indexOf() / lastIndexOf() / includes()

文字列内の指定した文字列を検索し、その位置を返します。存在の有無だけを確認したい場合は『文字列.includes()』が便利です。

構文

// 先頭から検索して最初に見つかった位置を返します。
文字列.indexOf("検索文字列")
文字列.indexOf("検索文字列", 開始位置)

// 末尾から検索して最後に見つかった位置を返します。
文字列.lastIndexOf("検索文字列")
文字列.lastIndexOf("検索文字列", 開始位置)

// 文字列が含まれているかを true / false で返します。
文字列.includes("検索文字列")
文字列.includes("検索文字列", 開始位置)

メソッド一覧

メソッド概要
indexOf("検索文字列")先頭から検索し、最初に見つかった位置(インデックス)を返します。見つからない場合は『-1』を返します。
indexOf("検索文字列", 開始位置)指定した位置から検索を開始します。
lastIndexOf("検索文字列")末尾から検索し、最後に見つかった位置を返します。見つからない場合は『-1』を返します。
includes("検索文字列")文字列が含まれていれば『true』、含まれていなければ『false』を返します。
includes("検索文字列", 開始位置)指定した位置から検索を開始します。

サンプルコード

var str = "JavaScript is great. JavaScript is fun.";

// indexOf で最初に見つかった位置を取得します。
console.log(str.indexOf("JavaScript")); // 『0』と出力されます。
console.log(str.indexOf("is"));         // 『11』と出力されます。
console.log(str.indexOf("Python"));     // 見つからないため『-1』と出力されます。

// 2番目の引数で検索開始位置を指定できます。
console.log(str.indexOf("JavaScript", 1)); // 『21』と出力されます。

// lastIndexOf で最後に見つかった位置を取得します。
console.log(str.lastIndexOf("JavaScript")); // 『21』と出力されます。

// includes で存在確認を行います。
console.log(str.includes("great")); // 『true』と出力されます。
console.log(str.includes("Python")); // 『false』と出力されます。

概要

『文字列.indexOf()』と『文字列.lastIndexOf()』は文字列内で指定した文字列を検索し、見つかった位置(インデックス)を数値で返すメソッドです。『文字列.indexOf()』は先頭から、『文字列.lastIndexOf()』は末尾から検索を行います。見つからなかった場合はどちらも『-1』を返します。

単に文字列が含まれているかどうかを調べたい場合は『文字列.includes()』を使うと、『true』か『false』で結果が得られるためコードが読みやすくなります。『文字列.indexOf()』を使って存在確認を行う場合は str.indexOf("abc") !== -1 のように『-1』と比較する必要がありますが、『文字列.includes()』なら str.includes("abc") と簡潔に書けます。

いずれのメソッドも大文字と小文字を区別して検索します。大文字・小文字を無視して検索したい場合は、あらかじめ『文字列.toLowerCase()』で統一してから検索するとよいでしょう。

対応ブラウザ

Chrome Chrome
49 以降
全バージョンで対応しています
Firefox Firefox
57 以降
全バージョンで対応しています
Safari Safari
18 以降
全バージョンで対応しています
Edge Edge
80 以降
11 以前 ×
IE IE
11 以降
2 以前 ×
Opera Opera
48 以降
2 以前 ×
iOS Safari iOS Safari
18 以降
全バージョンで対応しています
Android Browser Android Browser
37 以降
4 以前 ×
Chrome Android Chrome Android
36 以降
17 以前 ×
Firefox Android Firefox Android
79 以降
3 以前 ×

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。