var hankaku = '0123456789';
hankaku += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
hankaku += 'abcdefghijklmnopqrstuvwxyz';
hankaku += '-+_@., ';
hankaku += 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョー';
var hankakuArr = new Array( 'ヴ', 'ガ', 'ギ', 'グ', 'ゲ', 'ゴ', 'ザ', 'ジ', 'ズ', 'ゼ', 'ゾ', 'ダ', 'ヂ', 'ヅ', 'デ', 'ド', 'バ', 'ビ', 'ブ', 'ベ', 'ボ', 'パ', 'ピ', 'プ', 'ペ', 'ポ' );

var zenkaku = '０１２３４５６７８９';
zenkaku += 'ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ';
zenkaku += 'ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ';
zenkaku += '－＋＿＠．，　';
zenkaku += 'ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｯｬｭｮｰ';
var zenkakuArr = new Array( 'ｳﾞ', 'ｶﾞ', 'ｷﾞ', 'ｸﾞ', 'ｹﾞ', 'ｺﾞ', 'ｻﾞ', 'ｼﾞ', 'ｽﾞ', 'ｾﾞ', 'ｿﾞ', 'ﾀﾞ', 'ﾁﾞ', 'ﾂﾞ', 'ﾃﾞ', 'ﾄﾞ', 'ﾊﾞ', 'ﾋﾞ', 'ﾌﾞ', 'ﾍﾞ', 'ﾎﾞ', 'ﾊﾟ', 'ﾋﾟ', 'ﾌﾟ', 'ﾍﾟ', 'ﾎﾟ');

function zenkaku2hankaku ( element ) {

  var str = $(element).val();
  var result = '';

  for ( i = 0; i < hankakuArr.length; i++ ) {
    var regex = new RegExp( zenkakuArr[ i ], 'g' ); 
    str = str.replace( regex, hankakuArr[ i ] );
  }

  for ( i = 0; i < str.length; i++ ) {
    var char = str.charAt( i );
    var num = zenkaku.indexOf( char, 0 );
    var char = num >= 0 ? hankaku.charAt( num ) : char;
    result += char;
  }

  $(element).val(result);
}


