Asp.Net Webサイトがあり、RegularExpressionValidatorを使用して、英国の郵便番号が英語(つまり、スコットランド、ウェールズ、またはアイルランドではない)であるかどうかを確認したいと思います。
最初のセグメント(郵便番号エリアと呼ばれる)からの文字だけを使用して、郵便番号が英語であるかどうかを確認できるはずです。合計で124の郵便番号エリアがあり、これはそれらのリストです。
そのリストから、次の郵便番号エリアはイギリスにありません。
- ZE、KW、IV、HS、PH、AB、DD、PA、FK、G、KY、KA、DG、TD、EH、ML(スコットランド)
- LL、SY、LD、HR、NP、CF、SA(ウェールズ)
- BT(北アイルランド)
正規表現への入力は、郵便番号全体の場合もあれば、郵便番号領域のみの場合もあります。
特定の郵便番号が英語の場合にのみ一致する正規表現を作成するのを手伝ってくれる人はいますか?
編集-解決策
いくつかのポスターの助けを借りて、1500を超えるテストケースに対してテストした次の正規表現を作成することができました。
^(AL | B | B [ABDHLNRS] | C [ABHMORTVW] | D [AEHLNTY] | E | E [CNX] | FY | G [LUY] | H [ADGPUX] | I [GM P] | 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})?