Golang で正規表現を使用してメールアドレスを検証する方法

WBOY
リリース: 2023-06-24 09:16:45
オリジナル
1336 人が閲覧しました

golang で正規表現を使用して電子メール アドレスを確認する方法

Golang は強力で、習得しやすく、使いやすいプログラミング言語です。組み込みの正規表現ライブラリをサポートしています。メールアドレスを簡単に認証できます。

この記事では、golang の組み込み正規表現ライブラリを使用してメール アドレスを検証する方法を紹介します。

電子メール アドレスの正規表現検証の基本的な考え方は次のとおりです。

  1. 電子メール アドレスはユーザー名とドメイン名で構成されます
  2. ユーザー名には文字、数字、アンダースコア、ドットを含めることができますが、ドットやアンダースコアで終わることはできず、複数の連続したドットを使用することもできません。
  3. ドメイン名には . が含まれている必要があり、.で終わることはできません。

電子メール アドレスを確認するための正規表現は次のとおりです:

^[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)*@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$
ログイン後にコピー

具体的な手順

    #^ は文字列の先頭を表します
  1. [a-zA-Z0-9_-] は少なくとも 1 つの文字、数字、アンダースコア、またはハイフン ## と一致することを表します
  2. #(.[ a-zA-Z0-9_-] )* は、ドットと少なくとも 1 つの文字、数字、アンダースコア、またはハイフンが続く 0 個以上の一致するグループと一致することを意味します。
  3. @ は、電子メール アドレスの @ 記号を表します。
  4. [a-zA-Z0-9_-] は、少なくとも 1 つの文字、数字、アンダースコア、またはハイフンと一致します
  5. ( .[ a-zA-Z0-9_-] ) は、少なくとも 1 つのドットと、少なくとも 1 つの文字、数字、アンダースコア、またはハイフンに一致し、その後に複数の欠落したドットと文字、数字、アンダースコア、またはハイフンが続くことを意味します。
  6. $ は文字列の終わりを表します。
  7. 以下は、この正規表現を使用して電子メール アドレスを検証する方法を示す完全な golang コード例です。

パッケージ main

import (

"fmt"
"regexp"
ログイン後にコピー

)

func main() {

email := "myemail@gmail.com"
if IsEmailValid(email) {
    fmt.Println("Valid email address")
} else {
    fmt.Println("Invalid email address")
}
ログイン後にコピー

}

func IsEmailValid(email string) bool {

emailRegex := "^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$"
match, _ := regexp.MatchString(emailRegex, email)
return match
ログイン後にコピー

}

この例では、IsEmailValid という関数を定義します。この関数は、golang の正規表現ライブラリ regexp の MatchString 関数を使用して、指定された電子メール アドレスがルールに準拠しています。検証が成功した場合は true を返し、そうでない場合は false を返します。

最後に、IsEmailValid 関数を呼び出して電子メール アドレスを検証し、検証結果を出力します。この例では、電子メール アドレス myemail@gmail.com を検証し、結果はアドレスが有効であることを示しています。

要約すると、golang の組み込み正規表現ライブラリを使用すると、電子メール アドレスの効果的な検証を簡単に実現できます。検証ロジックを関数に組み込み、MatchString 関数を使用して検証するだけです。さらに、これに基づいて、より複雑な検証ロジックを実装するように拡張することもできます。

以上がGolang で正規表現を使用してメールアドレスを検証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート