Edited at

全角を半角に変換する。(javascript)

More than 1 year has passed since last update.

業務中に全角から半角に変換する必要が出て来た。

少しでも、その作業が楽になればと思い色々調べて作ったので、メモ的に残す。


動作


  1. 「半角へ」ボタンを押す。

  2. InputBoxが立ち上がる。

  3. 前角英数字を入力する。

  4. 「OK」を押す。

  5. TextBoxに半角で出力される。


コード


html


main.html

<html>

<head>
<meta charset="utf-8" />
<script src="zenkaku_hankaku.js"></script>
</head>
<body>
<form name="form">
<input type="textbox" id ="input" value="" />
<input type="button" onclick="box();" value="半角へ" />
</form>
</body>
</html>


Javascript


zenkaku_hankaku.js

//InputBoxを起動。

function box(){
//InputBoxをセット
box = window.prompt("半角に変換したい文字を入力してください", "");

if(box != ""){
//空白でなければ、半角へのプログラム実行。
zenhan(box);
} else {
//空白だった場合
window.alert('キャンセルされました');
}
}

//半角へのプログラム
function zenhan(a){
//10進数の場合
a = a.replace(/[A-Za-z0-9]/g, (s) => {
return String.fromCharCode(s.charCodeAt(0) - 65248);
});

//16進数の場合
a =a.replace(/[A-Za-z0-9]/g, (s) => {
return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
});

//TextBoxへ変換後の文字列を戻す。
document.forms.form.input.value = a;
}



参考

JavaScriptで英数を全角/半角に変換する方法

JavaScript で全角数字を半角に変換

入力ダイアログを表示する