如何在我的 .NET 代码中验证全球邮政编码

问题描述 投票:0回答:2

我正在寻找一种在 .NET 项目中验证全球邮政编码的方法,但我并不是真的想提出并维护全世界的正则表达式。

我最好希望引入对库的依赖,或者在最坏的情况下使用一些基于网络的服务(但这确实是最后的手段)。

.net validation zipcode postal-code
2个回答
6
投票

查看 github 上的 PostalCodes.Net 包。

支持大多数国家,界面良好。这是一个例子:

var country = CountryFactory.Instance.CreateCountry("PL");
var postalCode = PostalCodeFactory.Instance.CreatePostalCode(country, "44-100");

0
投票

对于任何关注 .NET 8 的人。

我发布了 RestCountries (JAVA) 的 C# 端口(重建),与原始 JSON 完全兼容,现在与 ASP.NET 的依赖注入 (DI) 兼容。

此软件包将让您访问电话前缀、国家/地区 ID 的翻译名称等等..

对于 OpenCodeDev.RestCountries.Data 3.1,它包括邮政编码正则表达式模式以及该国家/地区是否需要邮政,这对于国际验证非常有用。

OpenCodeDev.RestCountries.NET 6.0、.NET 8.0 和 .NET 9.0

OpenCodeDev.RestCountries.Data 用于国家数据。

using OpenCodeDev.RestCountries.Embedded;
using OpenCodeDev.RestCountries.Data;

IRestCountries restCountries = new RestCountries(RestCountriesEmbed.GetVersion());
var countries = restCountries.GetAll();
var firstCountry = countries.First();
if (restCountries.IsValidCCA2PostalCode("ca", "H1T2S2"))
    Console.WriteLine($"Valid");
else
    Console.WriteLine($"Not Valid");

文档Github

© www.soinside.com 2019 - 2024. All rights reserved.