跳到主要内容

银行路由号怎么校验:ABA 路由号 9 位与 3-7-1 校验和

美国银行路由号是 9 位 ABA 数字,靠 3-7-1 加权求和取模 10 校验。本文讲清楚算法怎么算、填表转账时怎么用、为什么一位填错就能被抓出来,全部在浏览器本地完成。

发布于 作者 李雷
#银行路由号 #ABA路由号 #校验和 #转账 #支票

银行路由号怎么校验:ABA 路由号 9 位与 3-7-1 校验和

填美国工资单、设代发、做电汇的时候,那一栏 9 位的路由号最容易出错。少一位、多一位、相邻两位写反,都会让一笔转账几天后被退回。好在路由号自带一个校验位,本地就能算,不用联网,也不用查任何银行目录。这篇文章把这套算法讲透,再带一个真实号码跑一遍。

路由号到底是什么

路由号也叫 ABA 路由转账号,是标识账户所属银行的 9 位代码。纸质支票底部最左边那一组就是它,排在账号前面。它告诉清算系统在 ACH 转账、电汇、代发工资时该从哪家银行划款或入款。

注意把它和账号分清楚:路由号固定 9 位且公开,同一网点的客户共用一个;账号长度各家不一,应当保密。一笔转账两者都要填,但只有路由号带固定校验位,能在本地直接验。

3-7-1 加权校验和怎么算

ABA 路由号的校验逻辑是一个加权求和取模 10。把 9 位数字按位置乘上一组固定权重,权重以 3、7、1 三个一组循环:

  • 第 1、4、7 位乘以 3
  • 第 2、5、8 位乘以 7
  • 第 3、6、9 位乘以 1

把这九个乘积全部相加,得到一个总和。合法的路由号,这个总和一定能被 10 整除。写成一句话就是:

sum = 3(d1+d4+d7) + 7(d2+d5+d8) + (d3+d6+d9),sum 能被 10 整除则结构合法。

它能抓错的原理在这里:只要改动任意一位,乘积就变,总和几乎总会偏离 10 的倍数。相邻两位写反这种最常见的打字错,因为权重不同,也基本逃不过。这就是为什么它能在你点提交之前就拦下错号。

一个真实号码跑一遍

111000025 这个号码(一个公开的示例路由号)按位拆开算:

| 位置 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |---|---|---|---|---|---|---|---|---|---| | 数字 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 2 | 5 | | 权重 | 3 | 7 | 1 | 3 | 7 | 1 | 3 | 7 | 1 | | 乘积 | 3 | 7 | 1 | 0 | 0 | 0 | 0 | 14 | 5 |

把乘积相加:3 + 7 + 1 + 0 + 0 + 0 + 0 + 14 + 5 = 30。30 能被 10 整除,所以 111000025 校验通过。

现在故意改一位,把它写成 111000026。最后一位 5 变 6,乘积从 5 变 6,总和变成 31,不再被 10 整除,结果立刻翻成不合法。一位之差就被抓住,这正是校验位存在的意义。

前两位读出美联储路由符号

校验通过之外,前两位还能多读一层信息。它们是美联储路由符号:01 到 12 对应十二个美联储区,所以 11 开头是第 11 区达拉斯,02 开头是第 2 区纽约。21 到 32 是同样这些区的储蓄机构版本,61 到 72 用于电子交易,00 是美国联邦政府,80 是旅行支票。这一层从公开区段表读出,方便你核对供应商给的是一个美国境内路由号,而不是格式不对的东西。

通过校验不等于银行真实存在

这一点必须说清楚:校验和只证明号码结构没问题。一个精心挑过的 9 位号码可以通过 3-7-1 公式,却不属于任何在用银行,因为能被 10 整除是结构属性,不是目录查询。要确认某个路由号当前确实分配给一家真实机构,得查美联储的 E-Payments 目录或直接问开户行。所以把校验器当成抓打字错的工具,而不是确认账户存在的工具,别只凭一个绿色结果就打款。

我自己怎么用它

我维护过一段 ACH 对接代码,最头疼的就是测试夹具里那些随手编的 9 位字符串,看起来像路由号,其实根本过不了校验,导致单元测试断言的是无效数据。后来我养成习惯:写完夹具先把每个号码贴进银行路由号校验器核一遍,确认它们都过 3-7-1 校验,再去调付费核验接口。前置这一道本地格式闸,省下不少调试时间,也让测试断言的是结构真实的号码。

如果你处理的是其他号码格式,校验思路其实相通。信用卡号走的是另一套加权取模算法,可以用 Luhn 校验器核对;跨境账户的国际格式则要靠对应工具,比如 IBAN 校验器。每一种都是本地算校验位,不联网,不上传。

小结

记住三件事就够了:美国路由号正好 9 位;3-7-1 加权求和能被 10 整除才算结构合法;通过校验只代表格式对,不代表银行真实在用。填表、设代发、确认支票上的路由号之前,本地跑一遍校验,几秒钟就能拦下最常见的那类打字错。


Made by Toolora · Updated 2026-06-13