<script>
function zenkaku2Hankaku(str){
return str.replace(/[A-Za-z0-9]/g, function(s){
return String.fromCharCode(s.charCodeAt(0) + 0xFEE0);
});
}
console.log(zenkaku2Hankaku("123abC"));
</script>
JSで書く場合も基本はスクリプトの中に辞書を持って変換しているのね。
仕組みを理解した。