checkCzechAndSlovakBBAN function
Czech (CZ) and Slowak (SK) BBAN check
@ignore
Implementation
bool checkCzechAndSlovakBBAN(String bban) {
const List<int> weightsPrefix = <int>[10, 5, 8, 4, 2, 1];
const List<int> weightsSuffix = <int>[6, 3, 7, 9, 10, 5, 8, 4, 2, 1];
final int controlPrefix = int.parse(bban[9], radix: 10);
final int controlSuffix = int.parse(bban[19], radix: 10);
final String prefix = bban.substring(4, 9);
final String suffix = bban.substring(10, 19);
int sum = 0;
for (int index = 0; index < prefix.length; index++) {
sum += int.parse(prefix[index], radix: 10) * weightsPrefix[index];
}
int remainder = sum % 11;
if (controlPrefix !=
(remainder == 0
? 0
: remainder == 1
? 1
: 11 - remainder)) {
return false;
}
sum = 0;
for (int index = 0; index < suffix.length; index++) {
sum += int.parse(suffix[index], radix: 10) * weightsSuffix[index];
}
remainder = sum % 11;
return controlSuffix ==
(remainder == 0
? 0
: remainder == 1
? 1
: 11 - remainder);
}