漫画で分かるJavaScriptプログラミング講座 コラム正規表現

  1. var res = (‘0123-4567-8901’).replace(/[0-9]/g, function(s) {
  2. return s.charCodeAt(0) – ‘0’.charCodeAt(0);
  3. });
  4. document.write(‘<pre>’ + res + ‘</pre><br>’);

【結果】
0123-4567-8901

これはどういうことかというと…
0123-4567-8901 の0~9で一致するものを取り出し、
function関数のパラメーターに返り値()を戻す➡ return s.charCodeAt(0) – ‘0’.charCodeAt(0);

ここでおさらい…ここをクリック
パラメーター(仮引数)…仮引数とは、関数指定時に使用される引数のこと(先生のツイートでいう、function f(a) の aのこと!!)

実引数(引数)…関数に渡す「変数」「値」のこと(先生のツイートでいう、f(a)のこと)

.charCodeAt()は 取得した値から、全角 → 半角の場合は引き、半角 → 全角の場合は足す。
つまり、
return s.charCodeAt(0) – ‘0’.charCodeAt(0); となっているので、
全角から半角への変換ができる。

フラグにgが記述されていることから、全部を置換するので([0-9]となっているので数字のみ‐は変換しない。)0123-4567-890と半角で表示される。

コメント