JavaScript - 文字列を検索する

Array.prototype.indexOf()

indexOf() メソッドは引数に与えられた内容と同じ内容を持つ配列要素の内、最初のものの添字を返します。存在しない場合は -1 を返します。indexOf() メソッドの構文は以下のとおりです。

str.indexOf(searchValue[, fromIndex])
indexOf() メソッド
searchValue
検索する対象の文字列です。
fromIndex
検索する最初の位置を表す整数です。初期値は 0 です。このパラメータは、オプションであるため省略可能です。

indexOf の返り値は searchValue で初めて出現したインデックスを返します。最初の文字は 0 から始まる点に注意してください。検索する文字が見つからなかった場合は -1 を返します。

// 任意の文字列
var str = 'abcdefgh';
 
// 「e」を検索する
var result = str.indexOf("e");
 
console.log(result); // 4
indexOf() メソッド
サポートブラウザ
ie
IE
edge
Edge
firefox
Firefox
chrome
Chrome
safari
Safari
opera
Opera
safari
iOS Safari
android
Android
9121.5137
○:Support ×:Not Support ?:未定義 n:以降の Version で Support

String.prototype.search()

search() メソッドは、対象の String オブジェクトが正規表現でマッチできるかどうかを調べるためのメソッドです。search() メソッドの構文は以下のとおりです。

str.search(regexp)
search() メソッド
regexp
正規表現が利用可能なオブジェクトです。正規表現ではないオブジェクトが渡された場合は RegExp オブジェクトに暗黙的に変換されます。

search の返り値は、与えられた文字列と正規表現の間で最初にマッチした箇所のインデックスを返します。マッチしなかった場合は -1 を返します。

var str = "hey Jude.";
var re = /[A-Z]/g;

console.log(str.search(re)); // 4
search() メソッド
サポートブラウザ
ie
IE
edge
Edge
firefox
Firefox
chrome
Chrome
safari
Safari
opera
Opera
safari
iOS Safari
android
Android
412111
○:Support ×:Not Support ?:未定義 n:以降の Version で Support

String.prototype.match()

match() メソッドは、正規表現に対する文字列 のマッチングの際に、そのマッチの結果を得るために使われます。match() メソッドの構文は以下のとおりです。

str.match(regexp)
match() メソッド
regexp
正規表現が利用可能なオブジェクトです。正規表現ではないオブジェクトが渡された場合は RegExp オブジェクトに暗黙的に変換されます。

match の返り値は、Array オブジェクト返します。ただし、正規表現のグローバルフラグ (g) の有無によって内容が変化します。マッチしなかった場合は null を返します。

  • g フラグがある場合、正規表現にマッチしたすべての結果を返します。
  • g フラグがない場合、正規表現にマッチした最初の結果のみを返します。
/* グローバルフラグがない場合 */
var str = 'abcdefgh';
var re = /[a-c]/;

console.log(str.match(re));
// ["a", index: 0, input: "abcdefgh", groups: undefined]


/* グローバルフラグがある場合 */
str = 'abcdefgh';
re = /[a-c]/g;

console.log(str.match(re));
// ["a", "b", "c"]
match() メソッド
サポートブラウザ
ie
IE
edge
Edge
firefox
Firefox
chrome
Chrome
safari
Safari
opera
Opera
safari
iOS Safari
android
Android
412111
○:Support ×:Not Support ?:未定義 n:以降の Version で Support

RegExp.prototype.test()

test() メソッドは、正規表現と指定された文字列の一致を調べるための検索を実行します。true または false を返します。test() メソッドの構文は以下のとおりです。

regexObj.test(str)
test() メソッド
str
正規表現にマッチさせる文字列です。

test の返り値は、正規表現と指定した文字列に一致するものがあった場合は true、そうでない場合は false を返します。

var str = "hello world!";
var result = /^hello/.test(str);
console.log(result); // true
test() メソッド
サポートブラウザ
ie
IE
edge
Edge
firefox
Firefox
chrome
Chrome
safari
Safari
opera
Opera
safari
iOS Safari
android
Android
412111
○:Support ×:Not Support ?:未定義 n:以降の Version で Support

関連記事

Category:
プログラミング
公開日:
更新日:
Pageviews:
94
Shares:
1
Tag:
JavaScript
コードレシピ