checkIbanMod97Algorithm method

bool checkIbanMod97Algorithm(
  1. Country country
)

Ülkeye göre Iban'a ait Mod97 kontrolünü yaparak, geçerli bir Iban olup olmadığını bildirir.

Implementation

bool checkIbanMod97Algorithm(Country country) {
  List<String> strArr = [
    "A",
    "B",
    "C",
    "D",
    "E",
    "F",
    "G",
    "H",
    "I",
    "J",
    "K",
    "L",
    "M",
    "N",
    "O",
    "P",
    "Q",
    "R",
    "S",
    "T",
    "U",
    "V",
    "W",
    "X",
    "Y",
    "Z"
  ];
  List<String> intArr = [
    "10",
    "11",
    "12",
    "13",
    "14",
    "15",
    "16",
    "17",
    "18",
    "19",
    "20",
    "21",
    "22",
    "23",
    "24",
    "25",
    "26",
    "27",
    "28",
    "29",
    "30",
    "31",
    "32",
    "33",
    "34",
    "35"
  ];

  switch (country) {
    case Country.turkish:
      {
        var iban = prepareIban();
        iban = iban.substring(4) + iban.substring(0, 4);

        for (int i = 0; i < strArr.length; i++) {
          iban = iban.replaceAll(strArr[i], intArr[i]);
        }

        var ibanInt = BigInt.parse(iban);
        var remainder = ibanInt.remainder(BigInt.from(97)).toInt();
        return (remainder == 1) ? true : false;
      }

    default:
      {
        return false;
      }
  }
}