简体   繁体   English

以veribose格式转换给定的正则表达式以使用可用于在asp.net中验证英国邮政编码的格式?

[英]Convert the given regular expression in veribose format to use a format usable to validate UK postcode in asp.net?

I have regular expression I need to use this regular expression to validate the UK postcode. 我有正则表达式我需要使用这个正则表达式来验证英国邮政编码。 I have converted that to a format to work with asp.net regular expression engine. 我已将其转换为可与asp.net正则表达式引擎一起使用的格式。 Could anyone please guide me what I have done is correct or if there is any mistake in it. 谁能指导我,我所做的是正确的,或者是否有任何错误。 Any help will be appreciated.These postcodes returns as validate postcodes W1A 0AX,SO10 9AA, FY9 9AA, WC1A 9AA. 任何帮助将不胜感激。这些邮政编码返回为验证邮政编码W1A 0AX,SO10 9AA,FY9 9AA,WC1A 9AA。

Veribose Format Veribose格式

(GIR\s0AA) |
(
    # A9 or A99 prefix
    ( ([A-PR-UWYZ][0-9][0-9]?) |
         # AA99 prefix with some excluded areas
        (([A-PR-UWYZ][A-HK-Y][0-9](?<!(BR|FY|HA|HD|HG|HR|HS|HX|JE|LD|SM|SR|WC|WN|ZE)[0-9])[0-9]) |
         # AA9 prefix with some excluded areas
         ([A-PR-UWYZ][A-HK-Y](?<!AB|LL|SO)[0-9]) |
         # WC1A prefix
         (WC[0-9][A-Z]) |
         (
            # A9A prefix
           ([A-PR-UWYZ][0-9][A-HJKPSTUW]) |
            # AA9A prefix
           ([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY])
         )
        )
      )
      # 9AA suffix
    \s[0-9][ABD-HJLNP-UW-Z]{2}
    )

format I used to validation postcode as below 格式我用来验证邮政编码如下

return ( 回来(

    Regex.IsMatch(postcode, "([GIR[ ]0AA])") ||
    Regex.IsMatch(postcode, "(^[A-PR-UWYZ][0-9][0-9]?[ ][0-9][ABD-HJLNP-UW-Z]{2}$)") ||
    Regex.IsMatch(postcode, "(^[A-PR-UWYZ][A-HK-Y][0-9](?<!(BR|FY|HA|HD|HG|HR|HS|HX|JE|LD|SM|SR|WC|WN|ZE)[0-9])[0-9][ ][0-9][ABD-HJLNP-UW-Z]{2}$)") ||
    Regex.IsMatch(postcode, "(^[[A-PR-UWYZ][A-HK-Y](?<!AB|LL|SO)[0-9][ ][0-9][ABD-HJLNP-UW-Z]{2}$)") ||
    Regex.IsMatch(postcode, "(^WC[0-9][A-Z][ ][0-9][ABD-HJLNP-UW-Z]{2}$)") ||
    Regex.IsMatch(postcode, "(^[A-PR-UWYZ][0-9][A-HJKPSTUW][ ][0-9][ABD-HJLNP-UW-Z]{2}$)") ||
    Regex.IsMatch(postcode, "(^[A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY][ ][0-9][ABD-HJLNP-UW-Z]{2}$)")

            );
    }

You may use 你可以用

(GIR\s0AA)|((([A-PR-UWYZ][0-9][0-9]?)|(([A-PR-UWYZ][A-HK-Y][0-9](?<!(BR|FY|HA|HD|HG|HR|HS|HX|JE|LD|SM|SR|WC|WN|ZE)[0-9])[0-9])|([A-PR-UWYZ][A-HK-Y](?<!AB|LL|SO)[0-9])|(WC[0-9][A-Z])|(([A-PR-UWYZ][0-9][A-HJKPSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))))\s[0-9][ABD-HJLNP-UW-Z]{2})

See the regex demo 请参阅正则表达式演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM