validateRoutingChecksum static method

bool validateRoutingChecksum(
  1. String routingStr
)

ABA Routing Number Modulo 10 Checksum Algorithm (Weighting 3, 7, 1).

Implementation

static bool validateRoutingChecksum(String routingStr) {
  if (routingStr.length != 9 || !RegExp(r'^[0-9]{9}$').hasMatch(routingStr)) {
    return false;
  }
  final digits = routingStr.split('').map(int.parse).toList();
  final checksum = (3 * (digits[0] + digits[3] + digits[6]) +
          7 * (digits[1] + digits[4] + digits[7]) +
          1 * (digits[2] + digits[5] + digits[8])) %
      10;
  return checksum == 0;
}