指定文字列を検索し、最も初めにヒットした位置が何文字目かを取得する方法。PHPでいうとstrpos()とかstripos()みたいなことをJavascriptでやりたい場合。
indexOf()、lastIndexOf()を用いる。
■indexOf(needle, index)
文字列の先頭からneedleを検索し、一番最初にヒットした位置を返却する。
indexが指定された場合、その位置から文字列の末端に向かって検索を開始する。
ヒットしなかった場合は-1を返却する。
■lastIndexOf(needle, index)
文字列の末端から遡ってneedleを検索し、一番最初にヒットした位置を返却する。
indexが指定された場合、その位置から文字列の先頭に向かって検索を開始する。
※返却される数値は先頭から数えた位置である点に注意
ヒットしなかった場合は-1を返却する。
以下例。
var str = 'abcdefghijklmnopqrstuvwxyz'; var pos = str.indexOf('i'); // 8 var l_pos = str.lastIndexOf('i'); // 8 var pos_i = str.indexOf('i', 9); // -1 var l_pos_i = str.lastIndexOf('i', 9); // 8 var pos_i_2 = str.indexOf('i', 7); // 8 var l_pos_i_2 = str.lastIndexOf('i', 7); // -1