Skip to the content

address-plusアドレスプラス

Parse, validate, format and compare addresses locally, add country modules and mount an optional native form field.

address-plus extends the parse-address style with typed results, validation, formatting and country modules. About the name

Contents

Reference · Japanese addresses

JP_DESIGNATED_CITIESconstant

The twenty designated cities (政令指定都市) as municipalities of their own. Geolonia lists only their wards, but addresses often name the city alone (大阪市, Sapporo), and the city has a JIS code of its own: its wards' codes with the last digit 0 (札幌市 01100).

Import it

import { JP_DESIGNATED_CITIES } from "@johnmorrisdotca/address-plus/jp";

Also exported from: @johnmorrisdotca/address-plus

Definition

const JP_DESIGNATED_CITIES: readonly JapaneseMunicipality[] = (() => {
    const wardsByCity = new Map<string, JapaneseMunicipality[]>();
    for (const municipality of JP_MUNICIPALITIES) {
        const ward = municipality.name.match(DESIGNATED_CITY_WARD);
        if (!ward)
            continue;
        const key = `${municipality.prefecture}${ward[1]}`;
        if (!wardsByCity.has(key))
            wardsByCity.set(key, []);
        wardsByCity.get(key)!.push(municipality);
    }
    return [...wardsByCity.values()].map((wards): JapaneseMunicipality => {
        const first = [...wards].sort((left, right) => left.code.localeCompare(right.code))[0];
        const lowest = Number(first.code);
        return {
            code: String(lowest - (lowest % 10)).padStart(5, "0"),
            kana: commonStart(wards.map((ward) => ward.kana)),
            name: first.name.match(DESIGNATED_CITY_WARD)![1],
            prefecture: first.prefecture,
            romaji: first.romaji.split(" ")[0],
        };
    });
})()

Examples

import { JP_DESIGNATED_CITIES } from "@johnmorrisdotca/address-plus/jp";

console.log(JP_DESIGNATED_CITIES.length);
// → 20
20

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/address-plus 1.7.0.