function zen2han(str){ return str.replace(/[0-z]/g,function($0){ return String.fromCharCode(parseInt($0.charCodeAt(0))-65248); }); } [0-z] で全角の英数字がヒットします。 $0 でヒットした英数字を取得します。 $0.charCodeAt(0) で全角英数字の文字コードを取得します。parseInt で文字列を整数に変換しています。 65248を引くと半角英数字の文字コードが分かります。 String.fromCharCode で文字コードに該当する文字を取得します。 逆に半角英数字を全角にする場合は次のようにします。