Я бы попытался проверить почтовые индексы в сочетании с кодом страны - если ваша структура проверки поддерживает этот вид пользовательской проверки. Это приведет к более точной проверке, особенно если многие из ваших клиентов из определенной страны.
Например, сначала я проверяю код страны, и если это США, я могу указать более конкретно:
if (countryCode == "US") {
regex = "^\d{5}([\-]\d{4})?$"; // trim string first
}
else {
// see other answers!
}
(конечно, это относится к любой стране, например, Великобритании, где почтовые индексы имеют фиксированный формат)