TaiwanUtilities 1.0.11
.NET 6.0
This package targets .NET 6.0. The package is compatible with this framework or higher.
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
.NET Framework 4.7.2
This package targets .NET Framework 4.7.2. The package is compatible with this framework or higher.
dotnet add package TaiwanUtilities --version 1.0.11
NuGet\Install-Package TaiwanUtilities -Version 1.0.11
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TaiwanUtilities" Version="1.0.11" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TaiwanUtilities" Version="1.0.11" />
<PackageReference Include="TaiwanUtilities" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TaiwanUtilities --version 1.0.11
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: TaiwanUtilities, 1.0.11"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=TaiwanUtilities&version=1.0.11
#tool nuget:?package=TaiwanUtilities&version=1.0.11
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
TaiwanUtilities
跟台灣相關的工具庫
類型一覽
純值型別
純值類型均有以下特性
- 提供隱含轉換至原生相似、對應類型
- 無須預先註冊轉換器,原生支援
Newtonsoft.Json
與System.Text.Json
的序列化與反序列化 - ASP.NET MVC 原生支援
JavaScriptSerializer
的直接序列化與反序列化
ChineseDecimal
結構
- 提供中文大小寫數字與
decimal
間的隱含互換,但解析部分不支援小數點 - 可補足
InternationalNumericFormatter.dll
中無法處理的部分
using TaiwanUtilities;
var expect = 2369;
var actual = ChineseDecimal.Parse("貳佰參陸九");
// result: pass
Assert.Equal<decimal>(expect, actual);
RocDateTime
結構
- 支援中文日期時間字串解析
- 可在
DateTime
與DateTimeOffset
結構之間隱含轉換 - 民國年與西元年間的轉換,另外可處理民國前的時間
using TaiwanUtilities;
var expect = new DateTime(1934, 6, 9);
var actual = RocDateTime.Parse("民國貳參年陸月玖日");
// result: pass
Assert.Equal<DateTime>(expect, actual);
PostalAddress
類別 (實驗性)
- 此功能開發中,不建議在生產環境使用
- 台灣地址解析
- 支援區域的各種組合,包含市、縣、區、鎮、鄉、里、村、鄰等
- 支援地址的各種格式,包含街道、巷弄、路線等
- 支援地址的門牌號碼、樓層、單元等
- 詳細請參考 docs/experimental.md
using TaiwanUtilities;
var expect = "信義路二段";
var actual = PostalAddress.Parse("臺北市中正區信義路二段100號").Road;
// result: pass
Assert.Equal<string>(expect, actual);
靜態型別
TaiwanIdValidator
類別
- 中華民國身分證字號驗證驗證
- 新/舊版臺灣地區無戶籍國民、外國人、大陸地區人民及香港或澳門居民之專屬代號驗證
- 營利事業統一編號驗證 (支援新/舊版統一編號檢查)
- 自然人憑證編號驗證
- 電子發票手機條碼驗證
- 電子發票捐贈碼驗證
using TaiwanUtilities;
// result: pass
Assert.True(TaiwanIdValidator.IsIdentityCardNumber("Y190290172"));
ZipCode
類別 (實驗性)
- 此功能開發中,不建議在生產環境使用
- 台灣郵遞區號查詢功能(目前僅支援三碼)
using TaiwanUtilities;
Assert.Equal<string>("100", ZipCode.Find("臺北市中正區"));
感謝
TaiwanIdValidator
原始版本為 enylin/taiwan-id-validator,該儲存庫採用 MIT 授權條款
此儲存庫基於「取之於社群,回饋於社群」的愛與信念而存在,感謝以上原作者為開源社群的貢獻
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.7.2
- Lib.Harmony (>= 2.3.6)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.TimeProvider (>= 8.0.1)
- System.Collections.Immutable (>= 8.0.0)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 8.0.5)
-
.NETStandard 2.0
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.TimeProvider (>= 8.0.1)
- System.Collections.Immutable (>= 8.0.0)
- System.Text.Json (>= 8.0.5)
-
net6.0
- Microsoft.Bcl.TimeProvider (>= 8.0.1)
- System.Collections.Immutable (>= 8.0.0)
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.