Dependency-free tiny utility

日本語フォーム入力の
表記ゆれを安全に正規化。

全角数字、全角英字、全角スペース、ハイフン類をフォーム入力向けに扱いやすく整える TypeScript utility です。

import { normalizeJaInput } from "normalize-ja-input"

normalizeJaInput(" TEL:090ー1234ー5678 ")
// "TEL:090-1234-5678"

Live demo

日本語入力で混ざりがちな文字をその場で正規化します。

Try examples

Form focused

電話番号、氏名、住所、IDなどの入力前処理に使いやすい小さな設計。

Safe defaults

記号全般は勝手に変えず、v0.1では安全な正規化だけに限定。

Zero dependencies

Node.js、ブラウザ、フロントエンドフォームで扱いやすい依存ゼロ構成。

Install

npmでインストールして、TypeScript/JavaScriptから利用できます。

npm install normalize-ja-input
import { normalizeJaInput } from "normalize-ja-input"

const value = normalizeJaInput(" ABCー123 ")
// "ABC-123"

API

v0.1の公開APIはひとつだけです。

normalizeJaInput(input: string, options?: {
  trim?: boolean
  collapseSpaces?: boolean
  spaces?: "preserve" | "halfwidth"
  digits?: "preserve" | "halfwidth"
  alphabets?: "preserve" | "halfwidth"
  hyphens?: "preserve" | "ascii"
}): string

CDN

npm公開後は unpkg や jsDelivr から読み込めます。ブラウザで直接使う場合は、UMD/IIFEビルドを追加すると便利です。

<script type="module">
  import { normalizeJaInput } from "https://unpkg.com/normalize-ja-input/dist/index.js"

  console.log(normalizeJaInput(" ABCー123 "))
</script>
<!-- Optional future browser build -->
<script src="https://unpkg.com/normalize-ja-input/dist/index.global.js"></script>
<script>
  normalizeJaInput.normalizeJaInput(" ABCー123 ")
</script>