У меня есть веб-сайт Asp.Net, и я хочу использовать RegularExpressionValidator, чтобы проверить, является ли почтовый индекс Великобритании английским (т. е. не шотландским, валлийским или северно-ирландским).
Должна быть возможность увидеть, является ли почтовый индекс английским, используя только буквы из первого сегмента (называемого областью почтового индекса). Всего существует 124 области почтовых индексов, и это их список.
Из этого списка следующие области почтовых индексов не находятся в Англии.
Входными данными для регулярного выражения могут быть весь почтовый индекс или только область почтового индекса.
Может ли кто-нибудь помочь мне создать регулярное выражение, которое будет соответствовать, только если данный почтовый индекс является английским?
РЕДАКТИРОВАТЬ - Решение
С помощью нескольких авторов мне удалось создать следующее регулярное выражение, которое я успешно протестировал на более чем 1500 тестовых примерах.
^(AL|B|B[ABDHLNRS]|C[ABHMORTVW]|D[AEHLNTY]|E|E[CNX]|FY|G[LUY]|H[ADGPUX]|I[GMP] |JE|KT|L|L[AENSU]|M|ME|N|N[EGNRW]|O[LX]|P[ELOR]|R[GHM]|S|S[EGKLMNOPRSTW]|T[AFNQ RSW]|UB|W|W[ACDFNRSV]|YO)\d{1,2}\s?(\d[\w]{2})?