顺手写了个地址解析小工具,支持在线用,也能接 PHP 项目里

之前做项目的时候,经常遇到这种情况:用户填的收货地址是一整段话,像这样:

复制代码
张三 13512345678 重庆市攀枝花市东区机场路88号 410123199001011234 邮编100000

人眼一看还行,但要让程序去拆成「姓名」「手机号」「省市区」「详细地址」这些字段,还是挺折磨的。

所以我就自己写了一个小工具,现在开源出来了,分享给大家用。支持直接在网页上粘贴地址自动解析,也可以安装进 PHP 项目里用。


✅ 不懂技术也能用:在线演示地址

如果你只是想把一批收货地址快速拆成结构化格式,比如帮客服导入表格、整理用户地址,那你直接用这个就行:

👉 在线体验地址:点击立即使用

打开后,把地址粘进去,它会自动给你拆出来:

字段 示例值
姓名 张三
手机号 13512345678
身份证号 410123199001011234
省市区 四川省 攀枝花市 东区
详细地址 机场路88号
邮编 100000

操作很简单,不用注册、不用装软件,直接用。


🛠 这个工具怎么来的?

也没啥"市场需求分析"那种大词,其实就是我自己做系统的时候经常遇到类似的问题。

尤其是后台管理系统,导入收货地址的时候,用户填的内容各种格式都有:

  • 用逗号分隔的
  • 什么标点都没有的
  • 中英文夹杂的

自己去写正则一个个拆,太麻烦,而且还不稳定。所以我就打算干脆写个通用一点的解析器,干干净净地输出结构化结果,自己用起来省事,也能给有类似需求的朋友用。


🔍 它能干啥?

一句话总结:把一段收货地址文本,拆成结构化的字段

比如:

php 复制代码
use Hejunjie\AddressParser\AddressParser;

$raw = '张三,13512345678,410123199001011234 重庆攀枝花市东区机场路88号 邮编100000';

$parsed = AddressParser::parse($raw);

print_r($parsed);

输出结果是:

php 复制代码
[
    'name' => '张三',
    'mobile' => '13512345678',
    'idn' => '410123199001011234',
    'postcode' => '100000',
    'province' => '四川省',
    'city' => '攀枝花市',
    'area' => '东区',
    'detail' => '机场路88号'
]

你可以拿这些字段去存数据库,或者回填表单都行。


🧠 技术思路简单聊聊(给懂 PHP 的朋友)

  • 手机号、身份证号、邮编识别:用正则表达式直接提取
  • 省市区识别:内置了一份完整的中国行政区划数据,然后根据关键词匹配 + 模糊判断
  • 姓名 vs 地址怎么分? :写了点简单的规则,比如常见的人名长度、位置优先级啥的

整个项目是纯 PHP 实现 的,没依赖 Laravel、ThinkPHP、Symfony 什么的,也不用数据库,装了就能用,适合绝大多数项目接入


📦 怎么安装 / 用它?

如果你是开发者,那用 Composer 安装就行:

bash 复制代码
composer require hejunjie/address-parser

然后直接调用静态方法:

php 复制代码
use Hejunjie\AddressParser\AddressParser;

$parsed = AddressParser::parse('张三 北京市朝阳区xxx小区 13512345678');

它会返回一个包含 name​、mobile​、province​、city​、area​、detail​ 等字段的数组。

GitHub 项目地址在这里,欢迎 Star、Fork、提 Issue: 👉 zxc7563598/php-address-parser


🧩 最后:

这个工具本来是我做项目时的一个小需求,后来觉得也许别人也会用得上,就整理了下发出来。

你是技术人员可以直接接入项目; 你不是技术人员,也可以直接用我做好的在线演示页面; 你有兴趣研究实现方式,那源码也完全开放了。

总之,有用你就拿去用就行,简单实用比啥都强。

相关推荐
BingoGo1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack4 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
QQ5110082855 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
WeiXin_DZbishe5 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5