private static bool isValid(string iban) { if (hasValidFormat(iban)) { string ibanCountryCode = iban.Substring(0, 2); string ibanCheckDigits = iban.Substring(2, 2); string ibanBban = iban.Substring(4); string checkSequence = ibanBban + ibanCountryCode + ibanCheckDigits; string digitSequence = String.Empty; if (CharacterConverter.Convert(checkSequence, out digitSequence)) { //Console.WriteLine("\nCheck string: {0}", checkSequence); //Console.WriteLine("\nValidation string: {0}", digitSequence); return(Modulus97.ValidateCheckDigits(digitSequence)); } } return(false); }
private static bool isValid(string reference) { if (hasValidFormat(reference)) { string referenceIdentifier = reference.Substring(0, 2); string checkDigits = reference.Substring(2, 2); string referenceSequence = reference.Substring(4); string checkSequence = referenceSequence + referenceIdentifier + checkDigits; string digitSequence = String.Empty; //International reference number may contain both upper and lower case characters //From validation point of view case is insignificant, digit values are the same for upper and lower case //Conversion is done in upper case if (CharacterConverter.Convert(checkSequence.ToUpper(), out digitSequence)) { //Console.WriteLine("\nCheck string: {0}", checkSequence); //Console.WriteLine("\nValidation string: {0}", digitSequence); return(Modulus97.ValidateCheckDigits(digitSequence)); } } return(false); }