Java email validation using regex

Email validation using regular expressionsは、登録ステップで必須情報としてEメールアドレスを求めるあらゆるアプリケーションで必要とされる可能性がある、共通のタスクです。 より多くのユースケースがあるかもしれませんが、それはここでの議論のポイントではありません。

では、直接本題の議論に入りましょう。 ^(.+)@(.+)$

これは最も単純で、’@’ シンボルのみを気にします。 記号の前後には、任意の文字数を指定することができます。

プログラム出力

このパターンはCommon langのEmailValidatorクラスで利用可能です。

Adding Restrictions on User Name part

Regex : ^+@(.+)$

この正規表現では、メールアドレスのユーザー名の部分にいくつかの制限を追加しています。 上記の正規表現における制限は次のとおりです。

上記の正規表現に対していくつかの電子メール アドレスをテストしてみましょう。 正規表現は次のようになります。

^+@+$

Java email validation permitted by RFC 5322

Regex : ^+@+$

この正規表現の例では、電子メール メッセージの形式を規定する RFC 5322 で許可されているすべての文字が使用されています。 許可されている文字の中には、シングルクォート (‘) やパイプ文字 (|) など、ユーザー入力から SQL 文に直接渡されるとセキュリティリスクをもたらすものがあります。

SQL インジェクション攻撃などのセキュリティ ホールを防ぐため、別のプログラムに渡される文字列に電子メール アドレスを挿入するときは、機密文字を必ずエスケープする必要があります。

プログラム出力。

電子メールの先行、後続、連続ドットを制限する正規表現

Regex : ^+(?:\.+)*@+(?:\.+)*$

ローカル部分とドメイン名の両方に1つ以上のドットを含むことができますが、2つのドットが隣接して現れることはありません。 さらに、ローカル部分とドメイン名の最初と最後の文字はドットであってはなりません。

Program Output.

Regex to restrict no. of characters in top level domain

ここで、ドメイン名には少なくとも1つのドットを含める必要があり、ドメイン名の最後のドット以降の部分は文字のみであるように正規表現を変更できます。

ドメイン名が secondlevel.com や thirdlevel.secondlevel.com などだとしましょう。 トップレベルドメイン(これらの例では.com)は、2~6文字のみで構成されていなければなりません。

Regex : ^+(?:\.+)*@(?:+↵.)+{2,6}$

Program Output.

この最後の正規表現は、java でシンプルなメール検証を行うための私の推奨方法です。 正規表現を使わないJavaでのメール検証も可能かもしれませんが、お勧めできませんのでご注意ください。 パターンを処理する必要がある場合はいつでも、正規表現があなたの友人です。

この正規表現を自由に使用し、アプリケーションの追加ニーズに従って編集してください。

Happy Learning !!!

Happy Learning !!!

コメントを残す

メールアドレスが公開されることはありません。