[JavaScript] 全角英数字記号を半角に変換する方法

1 min read

デモ

方法

コード

function zenkaku2hankaku(val) {
  var regex = /[A-Za-z0-9!"#$%&'()*+,-./:;<=>?@[\]^_`{|}]/g;

  // 入力値の全角を半角の文字に置換
  value = val
    .replace(regex, function (s) {
      return String.fromCharCode(s.charCodeAt(0) - 0xfee0);
    })
    .replace(/[‐-―]/g, "-") // ハイフンなど
    .replace(/[~〜]/g, "~") // チルダ
    .replace(/ /g, " "); // スペース

  return value;
}

仕様

以下の全角文字をコードに従って半角に置き換える。

  • A\-Z
  • a\-z
  • 0\-9
  • !"#$%&'()*+,-./:;<=>?@[\]^_`{|}

以下をそれぞれに置換。

  • ‐-―\-
  • ~〜~

Next Read

CSS in JSとは何か

想定読者 / そもそも JS フレームワーク(React、Vue.js)を採用する理由とは何か / 「命令的 UI」 と 「宣言的 UI」 / 「命令的 UI」 VS 「宣言的 UI」 / CSS in JS とは / CSS in JS ライブラリ / Emotion の使い方 / 利用するメリット / 利用するデメリット / 関連 / <h2 id="footnote-label" class="sr-only">Footnotes

[CSS in JS] 外部のリセットCSSを使う方法

目的 / 課題 / おまけ

竈門炭治郎をCSS Paint APIで再現する

概要 / 完成品 / 実装方法 / 〆 / 参考

BudouXでOGP画像のテキストを読みやすくしてみた

背景 / BudouX とは / 方法 / 改善結果 / おわりに