Dependency-free tiny validators

Japanese form validation,
made tiny.

郵便番号、携帯電話番号、日本の電話番号っぽい形式、全角カタカナ、全角文字を判定する小さな TypeScript ライブラリです。

import {
  isPostalCodeJP,
  isMobilePhoneJP,
} from "ja-form-validators"

isPostalCodeJP("150-0001")
// true

isMobilePhoneJP("090-1234-5678")
// true

Small scope

日本向けフォームでよく使う validator だけに絞っています。

No normalization

入力値は変換しません。判定だけを行うので責務が明確です。

TypeScript ready

TypeScript 対応。フロントエンドでもバックエンドでも使えます。

Live demo

入力値を変更すると、各 validator の結果がリアルタイムで変わります。

このデモはサイト内の簡易実装で動いています。実際の利用では npm/CDN から読み込んでください。

Results

Install

npm からインストールして使えます。

npm install ja-form-validators

API

v0.1 は5つの関数だけです。

isPostalCodeJP

日本の郵便番号を判定します。

150-0001 / 1500001

isMobilePhoneJP

070 / 080 / 090 から始まる携帯番号を判定します。

090-1234-5678

isPhoneNumberJP

日本の電話番号っぽい形式を軽量に判定します。

03-1234-5678

isKatakana

全角カタカナ、長音、中黒、空白を許可します。

タナカ タロウ

isZenkaku

半角ASCIIを含まない文字列か判定します。

山田太郎

Design policy

正規化、整形、住所解析、メール検証は行いません。

CDN

npm公開後は unpkg や jsDelivr から ESM として読み込めます。

https://unpkg.com/ja-form-validators@0.1.0/dist/index.js
<script type="module">
  import { isPostalCodeJP } from "https://unpkg.com/ja-form-validators@0.1.0/dist/index.js"

  console.log(isPostalCodeJP("150-0001"))
</script>

Works with normalize-ja-input

`ja-form-validators` は入力を正規化しません。全角数字やハイフン表記ゆれを整えたい場合は、先に `normalize-ja-input` を通してください。

import { normalizeJaInput } from "normalize-ja-input"
import { isMobilePhoneJP } from "ja-form-validators"

const value = normalizeJaInput("090ー1234ー5678")

isMobilePhoneJP(value)
// true