【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) };
})();
使ってみる。