[jQuery] JavaScriptで全角英数を半角英数に変換する方法

入力フォームで全角英数字が入力された時に、自動で半角英数字に変換する方法です。

PHPの場合は mb_convert_kana()という関数があり、オプションを指定すればあらゆる変換が可能なのでJavaScriptやjQueryにも同様の関数があると思いっていましたが、見当たりませんでした。
(もしかしたら見当たらないだけで、関数が存在しているのかもしれません・・・)

文字コード表を使って判断するような感じの方法で変換を行ってみました。

半角を全角に変換するプログラム

全角英数・半角英数の文字コードの区切りの場所から-65248の間が半角英数の文字コードになります。

10進数、16進数での表記があります。

JavaScriptで半角に変換する方法

これを使えば全角英数を半角英数に変換できます。

jQueryでフォームの入力値を半角に変換

3行目:blur はフォーカスが離れた時の処理を行います。

4行目:全角→半角変換処理はcharChangeという関数を作り、それを読み込みます。

8行目:charChange関数を作成します。

9行目:テキストボックスの値をvalという変数に入れます。

10行目〜12行目:全角英数を半角英数に変換しています。

XHTML

フォームのテキストボックスにクラス名を指定します。

半角を全角に変換(参考)

全角英数・半角英数の文字コードの区切りの場所から+65248の間が半角英数の文字コードになります。



Author: webmaster