半角英数↔全角英数、半角カナ↔全角カナ、ひらがな↔カタカナ変換等のJavaScriptライブラリ
出来る事
- 文字種の変換 (convert)
- 文字種の絞込 (fileter)
- 文字種の排除 (reject)
- 空白削除 (trim)
※ 文字種[半角英数、全角英数など]
インストール
ブラウザ
<script src="/path/to/script/moji.standalone.js"></script><script> ;</script>
npm & require
npm i moji
var moji = ;
使い方
convert()
convert('変換元文字種', '変換先文字種')
/** 全角英数 → 半角英数 **/;// -> ABCD01234 /** 半角英数 → 全角英数 **/;// -> ABCD01234 /** 全角スペース → 全角スペース **/;// -> ' ' /** ひらがな → カタカナ **/;// -> アイウエオ /** カタカナ → ひらがな **/;// -> あいうえお /** 全角カナ → 半角カナ **/;// -> アイウエオ /** 半角カナ → 全角カナ **/// -> アイウエオ
メソッドチェーンで繋いで変換
/** [半角カナ] → [全角カナ] → [ひらがな] **/;// -> あいうえお
trim()
trim()
`
toString()
toString()
基本的にメソッドはメソッドチェーンでつなぐ事を想定しているため、文字列の取得は最後にtoString
で文字列に変換してください。
filter()
指定した文字種で絞込ます。
filter('絞り込みたい文字種')
/** ひらがなを絞込 **/;// -> あいう
reject()
指定した文字種を排除します。
reject('排除したい文字種')
/** ひらがなを排除 **/;// -> abcアイウ123
文字種
変換などに使う文字種です。 標準では以下の文字種が登録されています。
ZE
: 全角英数 // スペース含まず
HE
: 半角英数 // スペース含まず
HG
: ひらがな
KK
: カタカナ
ZS
: 全角スペース
HS
: 半角スペース
HK
: 半角カタカナ
ZK
: 全角カタカナ(半角カタカナとの変換用)
※ 半角カナはガギグゲゴ
の用にパピプペポ
のように、濁点、半濁点が別文字列になるなどの特殊性があるため、半角カナ、全角カナ変換は特別に文字種を設定しています。
文字種の追加
文字種は後から独自に追加する事が可能です。
追加例)
moji;moji;
例)
moji = ;moji; // 全角英数moji;
文字種のパターンについて
文字種は二つのパターンがあります。これは、文字列の中から該当文字種を検索して置換する方法に依存します。
範囲で指定する文字種
全角英数や半角英数のように、文字コードが連続している場合に仕様します。
正規表現で指定する文字種
半角カナのように連続する文字列では変換できない場合などに利用します。
正規表現(rebexp)で範囲を指定して、その範囲内の文字列がlistにあるかチェックします。
これは、listだけで検索すると文字数に応じてパフォーマンスの劣化が予想されるためです。
この辺りはFHconvertを参考にさせて頂いています。
感謝
FHconverterを多く参考させて頂いています。
ライセンス
MIT