27 $sIBAN = strtoupper(trim($sIBAN));
64 $this->_aCodeLengths = $aCodeLengths;
93 $iActualLength =
getStr()->strlen($sIBAN);
97 return !is_null($iCorrectLength) && $iActualLength === $iCorrectLength;
112 $sCountryCode =
getStr()->substr($sIBAN, 0, 2);
114 $iCorrectLength = (isset ($aIBANRegistry[$sCountryCode])) ? $aIBANRegistry[$sCountryCode] : null;
116 return $iCorrectLength;
146 $sInitialChars = $oStr->substr($sIBAN, 0, 4);
147 $sIBAN = $oStr->substr($sIBAN, 4);
148 $sIBAN = $sIBAN . $sInitialChars;
162 $aReplaceArray = array(
191 $sIBAN = str_replace(
192 array_keys($aReplaceArray),
211 $sModulus = bcmod($sIBAN, self::IBAN_ALGORITHM_MOD_VALUE);
212 if ((
int) $sModulus != 1) {
228 return is_array($aCodeLengths) && !empty($aCodeLengths);
242 foreach ($aCodeLengths as $sCountryAbbr => $iLength) {
266 return (
int) preg_match(
"/^[A-Z]{2}$/", $sCountryAbbr) !== 0;
278 return is_numeric($iLength) && (int) preg_match(
"/\./", $iLength) !== 1;