[英]Convert the given regular expression in veribose format to use a format usable to validate UK postcode in asp.net?
我有正则表达式我需要使用这个正则表达式来验证英国邮政编码。 我已将其转换为可与asp.net正则表达式引擎一起使用的格式。 谁能指导我,我所做的是正确的,或者是否有任何错误。 任何帮助将不胜感激。这些邮政编码返回为验证邮政编码W1A 0AX,SO10 9AA,FY9 9AA,WC1A 9AA。
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}
)
格式我用来验证邮政编码如下
回来(
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}$)")
);
}
你可以用
(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})
请参阅正则表达式演示
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.