JavaScriptが生まれてかなり経ち、今では何らかのライブラリを使うことの方が多くなりました。
そんな中での文字列関数のうち、文字列内からの検索についての復習です。
黒歴史遺跡発掘のお供にどうぞ。(このエントリも鬼のように要補修で1年後には黒歴史というオチですが)
Mac OS X Google Chromeで確認。
引数、戻り値一覧
関数名 | 引数1 | 引数2 | 戻り値 |
---|---|---|---|
indexOf | 検索文字列 | 開始位置 | 最初の出現位置、該当なしで-1 |
lastIndexOf | 検索文字列 | 開始位置 | 最後の出現位置、該当なしで-1 |
match | 検索正規表現 | 該当要素の配列 | |
search | 検索正規表現 | 最初の該当出現位置 |
引数の数値変換と値による動作
indexOf
検索文字列
引数 | 動作 |
---|---|
引数なし | 該当なしを返す |
数値(負の数) | 符号を含めた文字列とみなす |
数値(小数) | 文字列とみなす |
数値(正の符号つき) | 符号を含めない文字列とみなす |
数値(8進数表記) | 10進数で表記した文字列とみなす |
数値(16進数表記) | 10進数で表記した文字列とみなす |
空文字列 | 0を返す |
配列(空配列) | 0を返す |
配列(要素数1以上) | join()実行結果(カンマ区切り文字列)とみなす |
オブジェクト | 文字列「[object Object]」を指定とみなす |
関数 | 文字列に変換したものを指定とみなす |
開始位置
引数 | 動作 |
---|---|
文字列(数字以外) | 0を指定とみなす |
文字列(数字) | 整数値に変換した値を指定とみなす |
数値(文字列長以上) | 該当なしを返す |
数値(小数) | 整数値に変換した値を指定とみなす |
数値(負の値) | 該当なしを返す |
配列(空配列) | 0を指定とみなす |
配列(要素数1) | 先頭要素を文字列に変換した値とみなす |
配列(要素数2以上) | 0を指定とみなす |
オブジェクト | 0を指定とみなす |
null | 0を指定とみなす |
NaN | 0を指定とみなす |
function | 0を指定とみなす |
lastIndexOf
検索文字列
引数 | 動作 |
---|---|
引数なし | 該当なしを返す |
数値(負の数) | 符号を含めた文字列とみなす |
数値(小数) | 文字列とみなす |
数値(正の符号つき) | 符号を含めない文字列とみなす |
数値(8進数表記) | 10進数で表記した文字列とみなす |
数値(16進数表記) | 10進数で表記した文字列とみなす |
空文字列 | 文字列長を返す |
配列(空配列) | 文字列長を返す |
配列(要素数1以上) | join()実行結果(カンマ区切り文字列)とみなす |
オブジェクト | 文字列「[object Object]」を指定とみなす |
関数 | 文字列に変換したものを指定とみなす |
開始位置
引数 | 動作 |
---|---|
文字列(数字以外) | 正の無限大を指定とみなす |
文字列(数字) | 整数値に変換した値を指定とみなす |
数値(文字列長以上) | 正の無限大を指定とみなす |
数値(小数) | 整数値に変換した値を指定とみなす |
数値(負の値) | 該当なしを返す |
配列(空配列) | 0を指定とみなす |
配列(要素数1) | 先頭要素を文字列に変換した値とみなす |
配列(要素数2以上) | 正の無限大を指定とみなす |
オブジェクト | 正の無限大を指定とみなす |
null | 0を指定とみなす |
NaN | 正の無限大を指定とみなす |
function | 正の無限大を指定とみなす |
※ToNumberでNaNとなる値は正の無限大となる
match
引数 | 動作 |
---|---|
引数なし | 空文字列を指定とみなす |
文字列 | 正規表現に変換される |
空文字列 | 空文字列を要素とした長さ1の配列を返す |
数値(負の値) | 符号を含めた文字列とみなす |
数値(0、正の値) | 符号を含めない文字列とみなす |
配列(空配列) | 空文字列を指定とみなす |
配列(要素数1以上) | join()実行結果(カンマ区切り文字列)とみなす |
オブジェクト | 文字列「[object Object]」を指定とみなす |
null | 文字列「null」を指定とみなす |
NaN | 文字列「NaN」を指定とみなす |
search
引数 | 動作 |
---|---|
引数なし | 空文字列を指定とみなす |
文字列 | 正規表現に変換される |
空文字列 | 0を返す |
数値(負の値) | 符号を含めた文字列とみなす |
数値(0、正の値) | 符号を含めない文字列とみなす |
配列(空配列) | 0を返す |
配列(要素数1以上) | join()実行結果(カンマ区切り文字列)とみなす |
オブジェクト | 文字列「[object Object]」を指定とみなす |
null | 文字列「null」を指定とみなす |
NaN | 文字列「NaN」を指定とみなす |