Вы можете найти некоторые интересные вещи в подпакетах PEAR::Validate
(это на PHP) , которые соответствуют желаемым языкам
Например, в классе Validate_US
:
function postalCode($postalCode, $strong = false)
{
return (bool)preg_match('/^[0-9]{5}((-| )[0-9]{4})?$/', $postalCode);
}
Тот же метод, в классе Validate_FR
:
function postalCode($postalCode, $strong = false)
{
return (bool) preg_match('/^(0[1-9]|[1-9][0-9])[0-9][0-9][0-9]$/',
$postalCode);
}
Но обратите внимание, что этот вид регулярных выражений позволит вам только подтвердить, что данный код выглядит действительным, а не то, что на самом деле является действительным: существует так много почтовых индексов ( еще больше адресов!) , список будет неуправляемым, и кошмар обслуживания, я думаю.