TaiwanUtilities 1.0.11

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" />
                    
Directory.Packages.props
<PackageReference Include="TaiwanUtilities" />
                    
Project file
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
                    
#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
                    
Install TaiwanUtilities as a Cake Addin
#tool nuget:?package=TaiwanUtilities&version=1.0.11
                    
Install TaiwanUtilities as a Cake Tool

TaiwanUtilities

.NET NuGet Version

跟台灣相關的工具庫

類型一覽

純值型別

純值類型均有以下特性

  1. 提供隱含轉換至原生相似、對應類型
  2. 無須預先註冊轉換器,原生支援 Newtonsoft.JsonSystem.Text.Json 的序列化與反序列化
  3. 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 結構
  • 支援中文日期時間字串解析
  • 可在 DateTimeDateTimeOffset 結構之間隱含轉換
  • 民國年與西元年間的轉換,另外可處理民國前的時間
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("臺北市中正區"));

感謝

此儲存庫基於「取之於社群,回饋於社群」的愛與信念而存在,感謝以上原作者為開源社群的貢獻

Product 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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.11 37 6/6/2025
1.0.2 223 11/24/2024