JavaScriptで、電話番号を半角数字のみに加工する関数を作ってみた

最近、Node.jsでウェブサービスを作ることが多いです。

ユーザーが入力した電話番号は、半角数字や全角数字、ハイフンや括弧の有無など、表記がバラつきがちですよね。

後で検索したくなったときに、これでは扱い辛いので、半角数字のみにしたいなと。だからといって、入力フォームを半角数字のみに制限するとか、ダッサイことはしたくない。

Elasticsearchなんかだと、DBに突っ込む際に自動化できるんだけど、今回はMySQL+Node.jsなので、自前でJavaScriptで実装してみましたよっと。

こんな関数でいいんじゃないかしら。

// 電話番号を半角数字のみに加工する
const telSanitize = (tel) => {
  return tel.replace(/[A-Za-z0-9]/g, (s) => {
    return String.fromCharCode(s.charCodeAt(0) - 65248)
  }).replace(/[^0-9]/g, '')
}

// こんな感じで使う
telSanitize('(03)123-4567')
=> 031234567

また使うかもしれないので、ブログに残しておきましたとさ。

シェアする

  • このエントリーをはてなブックマークに追加