replaceの引数
replaceの置換で関数を使った場合、その関数に渡る引数の数は3つあるらしい。
実際に置換する数だけalertを使って表示させてみたら
var str = 'aabaacaadaae'; str.replace(/[b-e]/ig, function() { alert([ arguments[0], arguments[1], arguments[2] ].join('\n')); });
結果がこれ
[1回目] b 2 aabaacaadaae [2回目] c 5 aabaacaadaae [3回目] d 8 aabaacaadaae [4回目] e 11 aabaacaadaae
第一引数: 置換する文字列
第二引数: 置換する文字列の位置(左から0で始まる)
第三引数: 検索対象の文字列
でした。