JavaScriptで文字列に部分文字列が含まれるか判定する方法|search()メソッドの使い方
JavaScriptで部分文字列の存在を確認するには?
JavaScriptで「ある文字列の中に特定の部分文字列(サブストリング)が含まれているか」を確認したい場合、Stringオブジェクトのsearch()メソッドを使うのが一般的な方法の一つです。
search()メソッドは、引数に渡した文字列(または正規表現)が対象の文字列内で最初に現れる位置(インデックス)を返します。見つからなかった場合は -1 を返すため、この戻り値を判定条件として使うことで、部分文字列の有無を簡単にチェックできます。
search()メソッドを使ったサンプルコード
次のコードは、文字列「Tutorialspoint: Free Video Tutorials」に部分文字列「point」が含まれているかどうかを判定する例です。
<html>
<head>
<title>JavaScript String search() Method</title>
</head>
<body>
<script>
var re = "point";
var str = "Tutorialspoint: Free Video Tutorials";
if (str.search(re) == -1) {
document.write("含まれていません");
} else {
document.write("含まれています!");
}
</script>
</body>
</html>
このコードを実行すると、「point」という文字列が見つかるため、画面には「含まれています!」と表示されます。
よりモダンな代替手段:includes()メソッド
ES6(ECMAScript 2015)以降では、より直感的に書けるincludes()メソッドも利用できます。includes()は、部分文字列が含まれていれば true、含まれていなければ false を返すシンプルなメソッドです。
var str = "Tutorialspoint: Free Video Tutorials";
if (str.includes("point")) {
console.log("含まれています!");
} else {
console.log("含まれていません");
}
indexOf()メソッドでも判定可能
また、従来から使われているindexOf()メソッドでも同様の判定が可能です。search()と同じく、見つかった位置のインデックスを返し、見つからない場合は -1 を返します。
var str = "Tutorialspoint: Free Video Tutorials";
if (str.indexOf("point") !== -1) {
console.log("含まれています!");
}
使い分けのポイント
- search():正規表現を使った柔軟な検索が必要な場合に便利
- includes():単純に含まれているかどうかだけを知りたい場合に最適(可読性が高い)
- indexOf():位置(インデックス)情報も必要な場合に有効
目的に応じてこれらのメソッドを使い分けることで、文字列操作を効率的に行えます。
-
JavaScriptで文字列を検索する方法【search()メソッドの使い方を解説】
JavaScriptで文字列を検索する方法 JavaScriptで文字列の中から特定の文字列を探すには、search()メソッドを使用します。このメソッドは、引数に渡した文字列(または正規表現)が対象の文字列内で最初に一致した位置(インデックス)を返し、見つからなかった場合は -1 を返します。 以下は、JavaScriptで文字列を検索するサンプルコードです。 サンプルコード <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8" />
-
JavaScriptでボタンがクリックされたかどうかを判定する方法
JavaScriptを使えば、ボタンがクリックされたかどうかを簡単に判定できます。最も一般的な方法は、addEventListener()メソッドでクリックイベントを監視することです。以下に、ボタンのクリックを検出し、クリックされた回数を画面に表示するサンプルコードを紹介します。 サンプルコード <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1