gpt4 book ai didi

c# - 用于验证城市/州/ zip 的正则表达式

转载 作者:行者123 更新时间:2023-11-30 13:17:23 25 4
gpt4 key购买 nike

我有一个 ASP.NET/C# 应用程序,它有一个表单字段,要求用户提供他们的位置,我们获取并传递给 Bing map 以进行地理编码。出于某种原因,我的客户希望将输入限制为这三种格式:

San Francisco, CA 91111
San Francisco, CA
91111

但是,我知道他们最终也会要求支持加拿大邮政编码。

当然,他们在项目启动前 2 小时要求这样做,所以我真的没有太多时间自己研究正则表达式并弄清楚(我的正则表达式很糟糕)所以我想我会在这里问。

谁能想出一个正则表达式,我可以用它来验证它是否符合上述三种格式中的一种,并支持加拿大邮政编码(不必支持 ZIP+4)。

最佳答案

我试过了,它似乎适用于您指定的所有情况:

var pattern =
@"
(^[\w\s]+,\s\w{2}$)| # City, State
(^[\w\s]+,\s\w{2}\s\d{5}$)| # City, State and US PostCode
(^[\w\s]+,\s\w{2}\s(\w\d\w\s?\d\w\d)$)| # City, State and Canada PostCode
(^\d{5}$)| # US PostCode
(^\w\d\w\s?\d\w\d$) # Canada PostCode";

使用此正则表达式时,请确保您:

  • 指定RegexOptions.IgnorePatternWhitespace

  • 使用精简版(可读性较差):(^[\w\s]+,\s\w{2}$)|(^[\w\s]+,\s\w{2}\s\d{5}$)| (^[\w\s]+,\s\w{2}\s(\w\d\w\s?\d\w\d)$)|(^\d{5}$)|( ^\w\d\w\s?\d\w\d$)

关于c# - 用于验证城市/州/ zip 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9686395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com