FORM DEMO
住所フォームのデモ
郵便番号を聞くのをやめると、住所入力はここまで短くなる
左は郵便番号から住所を引く、よくある住所フォームです。 右は Jusho の /suggest を使い、住所の一部を入力すると候補が出て、選ぶとフォームが埋まる住所フォームです。 どちらも実際に api.jusho.dev を呼んでいます。
よくある住所フォーム
郵便番号から自動入力
郵便番号を入力して「住所検索」を押すと、都道府県・市区町村・町域が入ります。
- ・郵便番号を覚えていないと、そもそも使えない
- ・引っ越し前後や大規模ビルの個別郵便番号は間違えやすい
- ・1つの郵便番号に複数の町域があると、結局ユーザーが選ぶ
Jusho の住所フォーム
住所の一部から候補を出して自動入力
「渋谷区渋谷」のように途中から入力しても候補が出ます。選ぶと郵便番号まで確定します。
- ・郵便番号を知らなくても、覚えている部分から引ける
- ・都道府県を省略しても候補が出る(「渋谷区渋谷」でOK)
- ・選んだ時点で郵便番号と住所マスタの町域が確定する
なぜ候補から選ばせるのか
覚えている部分から引ける
郵便番号は覚えていなくても、町名や駅前の地名は覚えているものです。「渋谷区渋谷」「博多駅前」のような断片から候補を出せます。
選んだ時点で住所が確定する
候補は住所マスタ(日本郵便・国土交通省データ)から出しています。選択された住所は郵便番号・町域コードまで紐づいた状態で保存できます。
入力回数が減る
郵便番号を調べる → 入力する → 検索ボタンを押す、という往復が不要です。番地まで入力していた場合は、番地欄にそのまま引き継ぎます。
実装はこれだけ
サジェストは GET /suggest の1本です。認証なしで試せます。
// 入力のたびに候補を取得する(2文字以上)
const params = new URLSearchParams({ q: query, max_results: '8' });
const res = await fetch(`https://api.jusho.dev/suggest?${params}`);
const { suggestions } = await res.json();
// 候補を選んだらフォームに反映する
function onSelect(item) {
setForm({
postCode: item.post_code, // "1500002"
pref: item.pref, // "東京都"
city: item.city, // "渋谷区"
town: item.town, // "渋谷"
});
}