2014年1月14日火曜日

JavaScript の replace に関数を渡して複雑な置換をする

replace() の第2引数に関数を渡すことでマッチした部分を使用した置換ができる。
例えば

abc123def

の数値部分に <span class="number"> を付けたい場合は

var target = 'abcdefg12345hijklmn';
target.replace(/[0-9]+/, function(p1) {
    return '<span class="number">' + p1 + '</span>';
});

第2引数に渡す関数の引数としてマッチした文字列が渡される。
() を使えば一致した複数のパターンを取得して置換に使用することができる。

0 件のコメント:

コメントを投稿