SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【Javascript】全角半角変換

問題

全角英数字やカナをJavascriptで半角にするには?

答え

対象となる全角文字が、変換先の半角文字と、Unicodeでちょうど0xFEE0ずれているので、引いてやると変換先の文字になる。

var fascii2ascii = (function(){
  var cclass
   = '['+String.fromCharCode(0xff01)+'-'+String.fromCharCode(0xff5e)+']';
  var re_fullwidth = new RegExp(cclass, 'g');
  var substitution = function(m){
    return String.fromCharCode(m.charCodeAt(0) - 0xfee0); // 0xff00 - 0x20
  };
  return function(s){ return s.replace(re_fullwidth, substitution) };
})();

使ってみる。

参考

http://blog.livedoor.jp/dankogai/archives/50984862.html

関連するメモ

コメント