scarneros/laravel-japan-postal-codes
Composer 安装命令:
composer require scarneros/laravel-japan-postal-codes
包简介
Laravel package for looking up Japanese addresses by postal code. Supports kanji, kana and romaji, full-width character normalization, CSV imports from Japan Post, and an optional JSON API.
README 文档
README
Look up Japanese addresses by postal code. Returns kanji, kana and romaji.
Supports full‑width character normalization, CSV imports from Japan Post, and an optional JSON API.
Requirements
- PHP 8.2+ with
ext-mbstringandext-zip - Laravel 11, 12, or 13
- Any database supported by Laravel
Installation
composer require scarneros/laravel-japan-postal-codes
1. Publish the config (optional)
php artisan vendor:publish --tag=japan-postal-codes-config
2. Run the migration
php artisan migrate
3. Import the postal code data
php artisan japan-postal-codes:import
This downloads and imports both official CSV datasets from Japan Post (kanji + kana, and romaji).
| Option | Description |
|---|---|
--file= |
Use a local CSV or ZIP instead of downloading |
--type=jp |
Import only Japanese (kanji + kana) |
--type=romaji |
Import only romaji |
--chunk=1000 |
Rows per batch (default: 500) |
The importer never overwrites data when you import a second dataset — it only fills in
NULLfields. This means you can runimport --type=jpandimport --type=romajiin any order.
4. Keep data up to date
php artisan japan-postal-codes:update
The update command downloads the latest CSV files and overwrites any changed fields. Use --force to skip the confirmation prompt.
Usage
use Scarneros\JapanPostalCodes\Facades\PostalCode; // Lookup — accepts raw, hyphenated, or full‑width input PostalCode::lookup('150-0001'); PostalCode::lookup('1500001'); PostalCode::lookup('150ー0001'); // search() is an alias for lookup() PostalCode::search('160-0023'); // Normalize messy input to a clean 7‑digit string PostalCode::normalize('160ー0023'); // "1600023" // Format a 7‑digit number with hyphen PostalCode::format('1600023'); // "160-0023"
Return value:
// PostalCode::lookup('150-0001') [ [ 'postal_code' => '1500001', 'postal_code_formatted' => '150-0001', 'prefecture' => '東京都', 'city' => '渋谷区', 'town' => '神宮前', 'address' => '東京都渋谷区神宮前', 'kana' => 'トウキョウト シブヤク ジングウマエ', 'romaji' => 'TOKYO SHIBUYA-KU JINGUMAE', ], ]
Eloquent model
use Scarneros\JapanPostalCodes\Models\JapanPostalCode; $row = JapanPostalCode::where('postal_code', '1600023')->first(); $row->address; // "東京都新宿区西新宿" $row->address_kana; // "トウキョウト シンジュクク ニシシンジュク" $row->address_romaji; // "TOKYO SHINJUKU-KU NISHI-SHINJUKU"
JSON API
Enabled by default. You can toggle it, change the prefix, or adjust middleware in the published config.
GET /api/postal-codes/{postalCode}
{
"data": [
{
"postal_code": "1600023",
"formatted": "160-0023",
"prefecture": "東京都",
"city": "新宿区",
"town": "西新宿",
"address": "東京都新宿区西新宿",
"kana": "トウキョウト シンジュクク ニシシンジュク",
"romaji": "TOKYO SHINJUKU-KU NISHI-SHINJUKU"
}
]
}
Invalid postal codes return 422.
Testing
composer test
License
The MIT License (MIT). Data provided by Japan Post.
scarneros/laravel-japan-postal-codes 适用场景与选型建议
scarneros/laravel-japan-postal-codes 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 389 次下载、GitHub Stars 达 1, 最近一次更新时间为 2026 年 06 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「address」 「laravel」 「japanese」 「japan」 「postal-code」 「zip-code」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 scarneros/laravel-japan-postal-codes 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 scarneros/laravel-japan-postal-codes 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 scarneros/laravel-japan-postal-codes 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Translate comments in laravel/laravel 5.* project to Japanese
Maps in minutes. Powered by the Google Maps API.
Redirects TYPO3 visitors automatic or with a suggestlink to another language and/or root page.
Module adding custom shipping attribute for what3words address
Faker Japanese is a Faker provider that generates fake Japanese related data for you.
Translate your Japanese into Kansai dialect.
统计信息
- 总下载量: 389
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 42
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-11