我的任务是“验证”我正在开发的网络应用程序的美国银行机构账户号码的长度。我无法通过SOF,Google,美联储储备等找到任何可以概括我们在美国拥有的帐号标准长度的内容。为了记录,我认为这是徒劳的。
如果有人可以向我指出网络上的任何官方文档,或者有正则表达式示例,或者知道是否存在标准,我将非常感激。
增加:
我感兴趣的是,因为他们的反应是压倒性的,因为他们没有标准......有没有人遇到过一个不完全“数字”的银行账号\
增加:
感谢大家和他们的回应。由于在美国没有标准,我们不会强制执行长度检查,并且由于银行可能在其帐号中分配字母字符这一事实,我们将把该号码存储为varchar。 。在我们看来,似乎99.999999%不切实际,但没有标准意味着我们将接受字母字符并对帐号进行检查以验证其是否有效。再次感谢所有人!
答案 0 :(得分:33)
美国银行的帐号没有标准。
IBAN未在美国使用。
ACH交易有限制(4-17位),但并非所有交易都必须为ACH。
是的,美国银行系统已经过时了。
我正在查看银行38个不同系统的DW(数据仓库),帐户长度因产品而异。一些系统在帐号中有字母字符。这可能是无关紧要的,因为它们是特殊类型的客户账户,如经纪账户和其他无法通过ACH访问的东西 - 您需要指定您感兴趣的账户类型。如果您将自己局限于可以获得的账户通过ACH,您可以简单地限制为数字。
获取有关ACH的更多信息答案 1 :(得分:6)
祝你好运,因为你做不到。
银行可以随意使用任何帐号作为帐号。我认为你能做的唯一验证是它们是否是数字(因为它们都是数字)。
银行帐号最常见的长度是9位,12位或10位数。虽然长度从4到17位不等。我有一个有效数字的大型数据库,我没有看到“帐号”的模式。
“路由号码”定义了银行(差不多),但即使在特定的路由号码内,帐号也可以有不同的长度。
这就是为什么工资单服务在启动直接存款之前通常需要额外的一天(或两天)才能“预先注明”帐户(通过执行无操作ACH交易来验证它),否则你实际上无法验证它
答案 2 :(得分:6)
您可以通过从联邦储备银行下载数据库(固定字段宽度文本格式)来验证路由号码(或ABA)。数据在这里: https://www.frbservices.org/EPaymentsDirectory/fpddir.txt以及描述数据的布局如下: https://www.frbservices.org/EPaymentsDirectory/fedwireFormat.html
有些公司(lyonslive.com)提供网络服务来验证帐号,但是每次验证收费(基于数量的定价从每次检查开始60美分 - 如果数量足够高,则可以低至24美分)。
答案 3 :(得分:2)
你的意思是International Bank Account Number吗?如果是,这是IBAN(所有IBAN)的正则表达式:
[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}
更新:实际上,根据维基百科:美国的银行不提供IBAN格式的帐号。美国银行对IBAN标准的任何采用都可能由美国金融服务标准制定组织ANSI ASC X9发起,但到目前为止尚未这样做。因此,从美国境外向美国银行帐户付款可能会导致路由错误。
答案 4 :(得分:1)
我认为没有标准 - 不同的机构似乎使用不同长度的帐号。可能存在上限 - 不可能小于20。
答案 5 :(得分:1)
美国的银行帐号没有标准。路由号码有一个标准,因为它在银行之间共享;但是,帐号只能由银行内部使用。
答案 6 :(得分:1)
非常有趣。似乎所有路由/转接号码都是9位数。
我刚检查了美国运通的在线账单支付,对于银行账户,他们将他们的领域限制在15个数字。 Chase将他们限制在17岁。我可能会继续检查,也许会开始打电话给几家银行,了解他们的规格是什么。它似乎没有标准。
确定长度的另一种可能方法是询问执行交易的公司。帐号在哪里使用?他们应该对他们接受的内容有规范。
答案 7 :(得分:0)
除了这里的其他出色答案之外,我认为知道美国的路由号码包含校验和数字也很有帮助,这有助于快速验证用户是否正确键入了密码
http://www.brainjar.com/js/validation/
基本上所有美国路由号码都应通过以下测试:
3 * (digits[0] + digits[3] + digits[6]) +
7 * (digits[1] + digits[4] + digits[7]) +
(digits[2] + digits[5] + digits[8]) % 10 === 0