JavaScriptで全角英数と半角英数の相互変換

全角英数文字コードから65248個半角英数文字コード

半角英数文字コードから65248個全角英数文字コード

// 半角にしたい
str.replace(/[A-Za-z0-9]/g, function(s) {
    return String.fromCharCode(s.charCodeAt(0) - 65248);
});

// 全角にしたい
str.replace(/[A-Za-z0-9]/g, function(s) {
    return String.fromCharCode(s.charCodeAt(0) + 65248);
});

65248の部分は16進数で表される事が多い。

// 半角にしたい
str.replace(/[A-Za-z0-9]/g, function(s) {
    return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
});

// 全角にしたい
str.replace(/[A-Za-z0-9]/g, function(s) {
    return String.fromCharCode(s.charCodeAt(0) + 0xFEE0);
});

こっちの方が無駄にプロっぽいですね。

サンプルコード

// 半角にしたい
javascript:alert('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.replace(/[A-Za-z0-9]/g,function(s){return String.fromCharCode(s.charCodeAt(0)-0xFEE0)}))

// 全角にしたい
javascript:alert('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.replace(/[A-Za-z0-9]/g,function(s){return String.fromCharCode(s.charCodeAt(0)+0xFEE0)}))