Validating Bank Routing Numbers In JavaScript
TLDR;
Example code at http://sandbox.michaelgrace.org/bank-routing-number-validation/
I have a test script at http://sandbox.michaelgrace.org/bank-routing-number-validation/ that I recently updated. I am having a hard time finding good documentation on it but ABA routing numbers that start with the number 5 are not valid. Routing numbers that start with 5 are internal bank routing numbers and are not valid for ACH transfers. Customers will often not realize that the routing number on their checks and the routing numbers on their bank deposit slips are different.
Here are the checks that I am doing in my JavaScript example:
- routing number is a number
- is 9 numbers in length
- does not start with the number 5
- checksum of routing number validates
For more information on the checksum for ABA routing numbers, check out wikipedia.
References for routing numbers starting with 5 being internal routing numbers:
https://firstib.custhelp.com/app/answers/detail/a_id/596
http://productforums.google.com/forum/#!topic/checkout-merchant/9XeAX4LAlqY
http://www.colorado.gov/pacific/osc/direct-deposits