Валидация номера международного почтового отправления

Международный номер почтового отправления состоит из 13 символов в 3-х группах: две заглавных латинских буквы, 9 цифр, и, снова две заглавных латинских буквы.

Первая группа описывает тип отправления
CA-CZ - Parcel post, USPS Priority Mail. Посылка(пакет,бандероль) зарегистрированная в системе отслеживания.
EA-EZ - EMS, Express Mail Service, USPS Express Mail. Посылки с такими кодами обычно приходят быстрее чем остальные типы почтовых отправлений. На сайтах почтовых служб обязательно есть возможность отслеживания номеров EMS.
Подсерия EX-EZ может использоваться только для почтовых отправлений внутри одной страны.
LA-LZ - Exprès letter, USPS First Class Mail, USPS Priority Flat rate Envelope. Посылка(мелкий пакет,письмо) не отслеживается на сайтах почтовых служб.
RA-RZ - Letter post registered. Посылка(мелкий пакет, письмо) зарегистрированная в системе отслеживания и не имеющая страхового покрытия.

Цифры во второй группе - не повторяющийся в течение года номер отправления. Обязанность следить за этим - на совести почтовой службы страны отправления.

Последняя цифра в группе - контрольная. Рассчитывается следующим образом:

$crc = 11 - (8 * $track[2] + 6 * $track[3] + 4 * $track[4] + 2 * $track[5] + 3 * $track[6] +
5 * $track[7] + 9 * $track[8] + 7 * $track[9]) % 11;
if ($crc == 11)
$crc = 5;
elseif ($crc == 10)
$crc = 0;

Последние две буквы - код страны по ISO 3166-1 alpha-2 (также используется в доменных именах).

Представленный код на языке PHP. Оператор % – остаток от деления.

Мы вКонтакте    Связаться можно по