C# 国際携帯電話番号クラスのカプセル化 - nuget Global Phone を使用して国際携帯電話番号を解析する
c#
1. GlobalPhone をパッケージインストールします
2. Phone.cs をリッスンします
Listen
public class Phone { public string CountryCode { get; set; } public string InternationalNumber { get; set; } public string NationalNumber { get; set; } public string Territory { get; set; } public bool IsValid { get; set; } public Phone() { } private Phone(global::GlobalPhone.Number number) : this() { CountryCode = number.CountryCode; InternationalNumber = number.InternationalString; NationalNumber = number.NationalFormat; Territory = number.Territory.Name; IsValid = number.IsValid; } private static bool __libraryLoaded; private static global::GlobalPhone.Database __databse; private static void LoadStaticContent() { if (!__libraryLoaded) { try { var assembly = Assembly.GetExecutingAssembly(); var dataStream = assembly.GetManifestResourceStream("Common.GlobalPhone.data.json"); if (dataStream != null) { var reader = new StreamReader(dataStream); var text = reader.ReadToEnd(); global::GlobalPhone.GlobalPhone.DbText = text; __databse = global::GlobalPhone.Database.Load(text); } } catch (Exception ex) { throw; } __libraryLoaded = true; } } private static readonly object __globalPhoneLock = new object(); private static global::GlobalPhone.Region TrnaslateRegion(String countryCode) { if (string.IsNullOrEmpty(countryCode)) { return null; } lock (__globalPhoneLock) { return __databse.TryGetRegion(countryCode); } } private static global::GlobalPhone.Territory TranslateTerritory(String territoryName) { if (string.IsNullOrEmpty(territoryName)) { return null; } lock (__globalPhoneLock) { return __databse.TryGetTerritory(territoryName); } } public static Phone TryParseWithCountryCode(string number, string countryCode) { LoadStaticContent(); var region = TrnaslateRegion(countryCode); if (region != null) { var territory = region.Territories.FirstOrDefault(); if (territory != null) { return TryParse(number, territory.Name); } } return null; } public static Phone TryParse(string number, string territoryName = null) { LoadStaticContent(); if (string.IsNullOrEmpty(number)) { return null; } var globalNumber = global::GlobalPhone.GlobalPhone.TryParse(number, territoryName); if (globalNumber != null && globalNumber.IsValid) { return new Phone(globalNumber); } //In scenario such as 6597531150 we need to help the library to understand that there is already the country code as a prefix var territory = TranslateTerritory(territoryName); if (territory != null) { //If the number start with same country code, we will try to add the plus and parse it again if (number.StartsWith(territory.CountryCode)) { globalNumber = global::GlobalPhone.GlobalPhone.TryParse(string.Format("+{0}", number), territoryName); if (globalNumber != null && globalNumber.IsValid) { return new Phone(globalNumber); } } } return null; } }
ログイン後にコピー
上記は C# の国際携帯電話番号クラス パッケージです。国際携帯電話番号の内容を解析するには、nuget Global Phone を使用します。その他の関連コンテンツ PHP 中国語 Web サイト (www.php.cn) にも注目してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
2週間前
By DDD
R.E.P.O.誰も聞こえない場合はオーディオを修正する方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:Myriseのすべてのロックを解除する方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7467
15


CakePHP チュートリアル
1376
52


Steamのアカウント名の形式は何ですか
77
11


NYTの接続はヒントと回答です
18
19



C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。
