顺手写了个地址解析小工具,支持在线用,也能接 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


🧩 最后:

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

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

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

相关推荐
电商API&Tina11 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
Sammyyyyy16 小时前
Symfony AI 正式发布,PHP 原生 AI 时代开启
开发语言·人工智能·后端·php·symfony·servbay
码农水水18 小时前
大疆Java面试被问:TCC事务的悬挂、空回滚问题解决方案
java·开发语言·人工智能·面试·职场和发展·单元测试·php
do better myself19 小时前
php 使用IP2Location限制指定的国家访问实现
开发语言·php
用户146446050337921 小时前
PHP 多维数组处理利器:array_column() 用法详解
php·thinkphp
郑州光合科技余经理1 天前
架构解析:同城本地生活服务o2o平台海外版
大数据·开发语言·前端·人工智能·架构·php·生活
智能修复1 天前
502 Bad Gateway:互联网世界的“断桥”时刻
开发语言·php
源码师傅1 天前
AI短剧创作系统源码 开发语言:PHP+MySQL 基于uniapp 无限SAAS多开源码
人工智能·php·短剧小程序开发·ai短剧创作系统源码·ai短剧创作系统·短剧原创制作软件
BingoGo1 天前
PHP 8.5 #[\NoDiscard] 揪出"忽略返回值"的 Bug
后端·php
星辰烈龙2 天前
黑马程序员JavaSE基础加强d5
服务器·网络·php