@suzukihayate/mojihen
v0.1.0
Published
全角/半角を種別ごと(かな・数字・英字・記号・空白)に細かく制御できる可逆な文字幅変換ライブラリ。依存ゼロ。
Maintainers
Readme
mojihen
全角/半角を種別ごとに細かく制御できる、可逆な文字幅変換ライブラリです。依存ゼロ。
- カテゴリ別に変換:
alphanumeric(英数字)/symbol(記号)/space(空白)/katakana(カナ) - 半角カナの濁点・半濁点の結合に対応(
ガ⇄ガ、パ⇄パ) - 依存ゼロ・型定義つき・ESM をそのまま import
インストール
npm install @suzukihayate/mojihen使い方
import { toHalf, toFull, alnumToHalf, kanaToFull } from '@suzukihayate/mojihen';
toHalf('ABC123'); // "ABC123"
toFull('ABC123'); // "ABC123"
toFull('ニホンゴ'); // "ニホンゴ"
toHalf('パピプ'); // "パピプ"
// 英数字だけ半角化(カナや記号はそのまま)
toHalf('A1ガギ!', { alphanumeric: true, katakana: false, symbol: false, space: false });
// "A1ガギ!"
alnumToHalf('A1'); // "A1"
kanaToFull('ニホン'); // "ニホン"API
toHalf(input, options?)— 全角 → 半角toFull(input, options?)— 半角 → 全角options:{ alphanumeric?, symbol?, space?, katakana? }(既定はすべて true)alnumToHalf(s)/kanaToFull(s)— よく使う組み合わせのショートカット
なぜ作ったか
入力フォームの正規化(電話番号は半角、氏名カナは全角…のように項目ごとに方針が違う)では、「英数字だけ半角化してカナは触らない」といった部分変換が必要になります。本ライブラリはその制御を素直なオプションで提供し、半角カナの濁点結合まで正しく扱います。
テスト
node --testLicense
MIT © 2026 Hayate Suzuki
