Webの入力フォームでイライラさせられるのは半角、全角の判定ではないでしょうか。データベースに入れる際にデータを統一したいだけで、利用者に対して苦痛を押しつけています。解決する手段など幾つもあるにも関わらずです。 今回はJavaScriptによる文字種変換ライブラリ、mojiを紹介します。

mojiの使い方

mojiはnpmでインストールできます。後は以下のように使います。

> var moji = require('moji');
undefined
> moji('ABCD01234').convert('ZE', 'HE').toString();
'ABCD01234'
> moji('ABCD01234').convert('HE', 'ZE').toString();
'ABCD01234'
> moji('アイウエオ').convert('ZK', 'HK').toString();
'アイウエオ'

ZEが全角、HEが半角英字、HKが半角カタカナを意味しています。最後はtoStringを実行して文字を取得できます。なお、node.jsだけでなくWebブラウザのJavaScriptでも利用できます。フォーカスが外れたタイミングで変換するという作りが良いのではないでしょうか。

mojiはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。

niwaringo/moji: 半角全角変換ライブラリ