電子メール アドレスは実際のアプリケーションでは非常に一般的であり、電子メール アドレスのルールも比較的複雑であるため、golang で電子メール アドレスのドメイン名を検証するには正規表現を使用する必要があります。多くの場合、データの有効性とセキュリティを確保するために、ユーザーが入力した電子メール アドレスのドメイン名が仕様を満たしているかどうかを確認する必要があります。
この記事では、正規表現を使用して golang でメール アドレスのドメイン名を検証する方法を紹介します。まず、電子メール アドレスの基本的なルールを理解する必要があります。
メールアドレスは「ユーザー名」と「ドメイン名」の2つの部分で構成されており、真ん中の「@」記号でつながっています。このうちドメイン名部分は、ホスト名、第1レベルドメイン名、第2レベルドメイン名などの情報を含み、メールアドレスの重要な部分です。
メール アドレスのドメイン名を確認する場合は、次の点に注意する必要があります。
- ドメイン名は複数の単語で構成されており、単語は「」で接続されています。 .」の記号。
- ドメイン名は文字または数字で始まり、終わる必要があります。
- スペース、カンマ、セミコロンなどの特殊文字をドメイン名に含めることはできません。
- ドメイン名にはハイフン「-」を含めることができますが、ハイフンで開始または終了することはできません。
これらのルールに基づいて、正規表現を使用して電子メール アドレスのドメイン名を検証できます。 golangでは正規表現を扱うために「regexp」パッケージを使用します。以下は、文字列が有効な電子メール アドレス ドメイン名であるかどうかを検証できるサンプル コードです。
package main import ( "fmt" "regexp" ) func main() { str := "example.com" reg := regexp.MustCompile(`^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(.[a-zA-Z]{2,})+$`) if !reg.MatchString(str) { fmt.Println("Invalid domain name") } else { fmt.Println("Valid domain name") } }
上記のコードでは、正規表現を使用して、文字列が有効な電子メール アドレス ドメイン名であるかどうかを検証します。この正規表現の意味は次のとおりです。
- ^ は文字列の先頭と一致することを意味し、$ は文字列の末尾と一致することを意味します。
- [a-zA-Z0-9] は文字または数字の一致を意味し、文字または数字で始まり、終わる必要があります。
- [a-zA-Z0-9-]{0,61} は、文字、数字、ハイフンの一致を意味し、長さは 63 文字を超えることはできません。
- (.[a-zA-Z]{2,}) は、1 つ以上の連続したドメイン名と一致することを意味します。各ドメイン名は「.」記号で接続され、第 1 レベルのドメイン名、第 2 レベルのドメイン名を示します。レベルドメイン名など
この正規表現を使用すると、電子メール アドレスのドメイン名検証のほとんどのニーズを満たすことができます。他に特別な状況がある場合は、さまざまなニーズに合わせて正規表現を変更することもできます。
要約すると、正規表現を使用して電子メール アドレスのドメイン名を検証することは、アプリケーションのコード品質とセキュリティを向上させる簡単かつ効率的な方法です。また、golang では「regexp」パッケージをインポートするだけで正規表現を使用できるので非常に便利です。
以上がgolangで正規表現を使用してメールアドレスのドメイン名を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

goooffersbustfeaturesforsecurecoding、butdevelopersmustimplementsecuritybestpracticive.1)usego'scryptageforsecuredathing.2)surncurrencywithranciationwithranizationprimitivestopreventraceconditions.3)sanitexe zeexerinputeterinpuptoravoidsqlinj

Goのエラーインターフェイスは、TypeErrorInterface {error()String}として定義され、エラー()メソッドを実装する任意のタイプをエラーと見なすことができます。使用の手順は次のとおりです。1。iferr!= nil {log.printf( "anerroroccurred:%v"、err)return}などのエラーを基本的にチェックおよびログエラー。 2。TypeMyErrorStruct {MSGSTRINGDETAILSTRING}などのより多くの情報を提供するカスタムエラータイプを作成します。 3.エラーラッパー(GO1.13以降)を使用して、元のエラーメッセージを失うことなくコンテキストを追加する、

Effectivitive Handleerrorsinconconconcurentgoprograms、usechannelstocommunicateerrors、Implienterrorwatchers、Sunidertimeouts、usebufferedchannels、およびprovideclearerrormess.1)usechannelstopasserrors fromgoroutineStothemainctunction.2)Anerrorwatcherを実装します

GO言語では、インターフェイスの実装が暗黙的に実行されます。 1)暗黙的な実装:タイプにインターフェイスによって定義されたすべてのメソッドが含まれている限り、インターフェイスは自動的に満たされます。 2)空のインターフェイス:すべてのタイプのインターフェイス{}タイプが実装されており、中程度の使用はタイプの安全性の問題を回避できます。 3)インターフェイス分離:コードの保守性と再利用性を向上させるために、小型ではあるが焦点を絞ったインターフェイスを設計します。 4)テスト:インターフェイスは、依存関係をあざけることでユニットテストに役立ちます。 5)エラー処理:エラーは、インターフェイスを介して均一に処理できます。

go'sinterfacesAriemplictlictlictlymentedは、Javaandc#とは異なり、whorequireexplicitimplementation.1)ingo、anytypewithedsodsodsautodsodsodsodsodsodsodsodsodsodsodsodsodsimplication antersface、促進性と柔軟性

goisidealforforbeginnersandsutable forcloudnetworkservicesduetoitssimplicity、andconcurrencyfeatures.1)installgofromtheofficialwebsiteandverify with'goversion'.2)

開発者は、次のベストプラクティスに従う必要があります。1。ゴルチンを慎重に管理して、リソースの漏れを防ぎます。 2。同期にチャネルを使用しますが、過剰使用を避けます。 3。同時プログラムのエラーを明示的に処理します。 4. GomaxProcsを理解して、パフォーマンスを最適化します。これらのプラクティスは、リソースの効果的な管理、適切な同期の実装、適切なエラー処理、パフォーマンスの最適化を確保し、それによりソフトウェアの効率と保守性を向上させるため、効率的で堅牢なソフトウェア開発には重要です。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ホットトピック









