快递公司识别
单号→快递公司(不依赖 API)
国内主流快递(点击单元格快速试用)
服务档位对比 · 时效 / 起步价
· 起步价为同城/省内首重 1kg 公开参考价(2024 上半年),实际以下单时各公司报价为准。
· 时效为正常工作日参考;春节 / 国庆 / 双十一普遍延迟 1-3 天。
理论运费估算(按公开费率表)
· 算法:起步价 + 超首重续重单价 × max(0, ceil(W) − 1);再叠加冷链 / 保价。
· 偏远地区(新藏青海蒙四省部分县市)首重普遍 +5~15 元、续重 +2~5 元/kg。
· 估算结果仅供参考,实际以快递公司报价为准;体积大件按 长×宽×高/6000 计抛重。
节假日 / 旺季影响
国际快递对照
· 国际单号一般 10-22 位字母数字组合,时区 / 海关清关导致状态更新延迟属正常。
· 推荐 17track(覆盖 900+ 物流商,含国内电商小包),DHL / FedEx / UPS 官网更详细。
8 大常见问题处理
· 国家邮政局申诉热线:12305(48 小时未解决可投诉,处理率 99%+)
· 12315 全国消协 / 黑猫投诉为辅助渠道。
快递安全 · 个人信息保护
使用说明
· 本地识别:所有识别在浏览器本地完成,输入数据不上传服务器。
· 识别原理:根据各家公司公开的单号位数 / 前缀 / 数字字符比例做正则匹配,匹配多家时按权重排序输出"最可能"+ "可能"。
· 查询跳转:本工具不调用 API,仅提供官方查询页 / 快递 100 / 17track 直达链接,由你在第三方平台完成实时跟踪。
· 运费估算:基于 2024 上半年各公司公开费率表整理,实际下单价以各家 App / 官网报价为准。
关于本工具
了解工具定位 · 使用场景 · 对比优势
输入快递单号,立即识别出对应的快递公司,无需调用任何外部 API。电商卖家批量查单、仓库发货核验、个人查件前确认承运方,都能直接使用。所有识别逻辑在浏览器本地执行,单号不上传任何服务器。
使用场景
退货寄件填单
网购退货时,手头只有一串单号,却不知道是哪家快递。用本工具输入单号,秒出快递公司名称,无需翻聊天记录或逐个登录快递官网查询。尤其适合同时处理多笔退货的用户,避免填错快递公司导致退件失败。
电商批量对账
电商客服或仓库人员每天收到上百个退货单号,需要分拣给对应快递公司揽收。本工具支持批量粘贴单号(每行一个),自动识别每家快递,并生成汇总列表。省去手动逐条查询的时间,减少分错快递公司的概率。
快递单号整理
个人或企业需要整理历史快递记录时,面对一堆散落各处的单号,不知道哪些是顺丰、哪些是中通。用本工具一次性导入所有单号,输出带快递公司名称的表格,方便后续按公司分类归档或统计运费。
二手交易验单
闲鱼或转转买家收到卖家提供的单号后,想确认是否真实、对应哪家快递。用本工具输入单号,立即显示快递公司,再配合快递官网查询物流轨迹,双重验证避免虚假发货。全程无需注册或登录任何第三方平台。
代收点收件登记
小区菜鸟驿站或物业代收点,每天收到几十个不同快递公司的包裹,需要登记入库。用本工具扫描或输入单号,自动识别快递公司,快速生成入库标签。比人工翻看快递面单更高效,尤其适合单号模糊或面单磨损的场景。
对比矩阵本工具 vs 竞品 vs 传统方法
| 维度 | 本工具 | 竞品 A(快递100 API) | 传统方法(电话/官网查询) |
|---|---|---|---|
| 数据隐私 | 纯浏览器处理,单号不上传任何服务器 | 单号上传至快递100服务器解析 | 需向客服或网站提供完整单号 |
| 处理速度 | 1 秒内返回结果 | 1-3 秒(含网络请求) | 数分钟至数小时(排队/人工) |
| 离线可用 | 完全离线,断网可用 | 必须联网 | 必须联网/拨打电话 |
| 单号长度限制 | 无限制(支持超长/混合单号) | 通常限制 10-30 位数字 | 无限制(人工处理) |
| 批量查询 | 不支持(单次单号) | 支持批量上传 CSV | 不支持(逐单查询) |
| 收费 | 免费 | 基础免费,高级功能/高频调用收费 | 免费(电话费/时间成本) |
| 注册/登录 | 无需注册 | 需注册 API 账号 | 无需注册 |
| 适用场景 | 临时、隐私敏感、离线环境 | 电商/物流系统集成、批量处理 | 不熟悉网络的用户、紧急查询 |
使用指南
上手步骤 · 输入输出 · 避坑提示
使用步骤
- 在输入框中粘贴或手动输入快递单号(支持纯数字、字母或混合格式)
- 点击「识别」按钮,页面立即显示匹配的快递公司名称与对应单号格式
- 如需识别多个单号,清空输入框后重复第 1-2 步,每次仅识别一个单号
输入输出示例7 个典型场景,覆盖常规、边界与易错
| 输入 | 输出 | 说明 |
|---|---|---|
| SF1234567890 | 顺丰速运 | 典型场景:顺丰单号以 SF 开头,最常见 |
| YT1234567890123 | 圆通速递 | 典型场景:圆通单号以 YT 开头,长度 13 位 |
| 7731234567890 | 中通快递 | 典型场景:中通单号常以 77 开头,12 位数字 |
| JDVA0123456789 | 京东快递 | 边界 case:京东单号含字母 JDVA,长度 13 位 |
| EMS1234567890 | EMS | 边界 case:EMS 单号以字母开头,纯数字也常见 |
| 1234567890123 | 无法识别 | 易错 case:纯数字单号可能对应多家快递,无法唯一确定 |
| SF | 无法识别 | 易错 case:输入过短,缺少有效数字部分 |
常见错误对照8 个常踩的坑 · 错误 → 修复
1. 输入了非快递单号的文本
顺丰快递单号12345678901234567890工具只识别纯数字或字母数字组合的单号本身,不要附带快递公司名称、空格或描述文字,否则匹配失效。
2. 混合了中英文标点或特殊符号
SF1234567890(急件)SF1234567890单号中不应包含括号、逗号、句号、空格等分隔符;工具按纯字符序列匹配,符号会破坏校验位或前缀规则。
3. 把多个单号粘在一起输入
YT1234567890SF9876543210YT1234567890
SF9876543210工具一次只识别一个单号;多个单号需分行或分次输入,否则会被当作一个无效字符串处理。
4. 输入了已过期的旧版单号格式
EMS 老式13位纯数字(如1234567890123)EMS 现行13位数字(如1181234567890)快递公司会更新单号编码规则(如EMS 2010年前后从13位纯数字改为13位以1开头);旧格式可能无法匹配当前规则库。
5. 把运单号与订单号混淆
淘宝订单号1234567890123456快递面单上的运单号(如SF开头+12位数字)订单号是电商平台内部编号,与快递公司单号编码规则完全不同;工具只识别快递公司定义的运单号格式。
6. 输入了国际单号但期望识别国内快递
DHL 国际单号(如1234567890)国内快递单号(如韵达、中通等)工具主要覆盖国内主流快递公司编码规则;国际快递(DHL/FedEx/UPS)的单号格式与国内不同,可能无法识别或误判。
7. 忽略了单号中的字母大小写
sf1234567890SF1234567890部分快递公司(如顺丰)前缀字母区分大小写;小写字母可能被误判为其他公司或无效格式,建议保持原单大小写。
8. 输入了虚拟号码或隐私面单号
隐私号段(如400开头的虚拟单号)实际快递面单上的物理单号部分电商平台使用虚拟号码或隐私面单,其编码规则与真实快递单号不同;工具无法识别,需使用原始面单号。
工作原理
公式推导 · 流程图解 · 依据出处
核心公式
匹配规则:单号前缀 + 长度 + 校验位模式 → 快递公司
变量说明
前缀— 单号前2-4位数字或字母长度— 单号总字符数(含字母)校验位— 末位数字,满足特定算法
示例
输入单号 7730123456789,前缀 77 匹配韵达(YD),长度 13 位符合韵达标准单号,末位 9 通过韵达校验算法。输出:韵达快递。
适用范围
适用于国内主流快递公司(顺丰/中通/圆通/韵达/申通/百世/京东/邮政等),基于各公司公开单号规则。不适用国际件、极兔等新公司(规则未收录),以及已停用旧号段。
原理图
开发者集成
3 种主流语言 · 复制即用
import re
# 快递单号 → 快递公司(纯规则匹配,无外部 API)
RULES = [
(r'^\d{12}$', '顺丰速运'),
(r'^\d{10}$', '韵达快递'),
(r'^\d{13}$', '圆通速递'),
(r'^\d{12}$', '中通快递'),
(r'^\d{10}$', '申通快递'),
(r'^\d{12}$', '百世快递'),
(r'^\d{10}$', '京东快递'),
(r'^\d{12}$', '极兔速递'),
(r'^[A-Z]{2}\d{9}[A-Z]{2}$', 'EMS'),
(r'^\d{13}$', '德邦快递'),
]
def identify_carrier(tracking_number: str) -> str:
"""根据单号长度和格式识别快递公司"""
for pattern, carrier in RULES:
if re.fullmatch(pattern, tracking_number):
return carrier
return '未知快递'
# 示例
print(identify_carrier('123456789012')) # 顺丰速运(12位数字)
print(identify_carrier('AB123456789CD')) # EMS(2字母+9数字+2字母)package main
import (
"fmt"
"regexp"
)
// 快递规则:模式 → 公司名
var rules = []struct {
pattern *regexp.Regexp
carrier string
}{
{regexp.MustCompile(`^\d{12}$`), "顺丰速运"},
{regexp.MustCompile(`^\d{10}$`), "韵达快递"},
{regexp.MustCompile(`^\d{13}$`), "圆通速递"},
{regexp.MustCompile(`^[A-Z]{2}\d{9}[A-Z]{2}$`), "EMS"},
{regexp.MustCompile(`^\d{12}$`), "中通快递"},
}
func identifyCarrier(trackingNumber string) string {
for _, r := range rules {
if r.pattern.MatchString(trackingNumber) {
return r.carrier
}
}
return "未知快递"
}
func main() {
fmt.Println(identifyCarrier("123456789012")) // 顺丰速运
fmt.Println(identifyCarrier("AB123456789CD")) // EMS
}// 纯前端规则匹配,无需后端 API
const RULES = [
{ pattern: /^\d{12}$/, carrier: '顺丰速运' },
{ pattern: /^\d{10}$/, carrier: '韵达快递' },
{ pattern: /^\d{13}$/, carrier: '圆通速递' },
{ pattern: /^[A-Z]{2}\d{9}[A-Z]{2}$/, carrier: 'EMS' },
{ pattern: /^\d{12}$/, carrier: '中通快递' },
];
function identifyCarrier(trackingNumber) {
for (const { pattern, carrier } of RULES) {
if (pattern.test(trackingNumber)) {
return carrier;
}
}
return '未知快递';
}
// 示例
console.log(identifyCarrier('123456789012')); // 顺丰速运
console.log(identifyCarrier('AB123456789CD')); // EMS常见问题
8 个高频疑问