Java での電子メール検証
電子メールを使用する前に、それを検証する必要があります。電子メールは、フォームの設計において重要な役割を果たします。Java の正規表現を使用して、電子メールを検証できます。java.util.regex
パッケージをインポートして、Java の正規表現を処理します。
Java は、正規表現を使用して電子メールを検証するいくつかの方法を提供します。いくつかの正規表現パターンは、Java での電子メールの検証に役立ちます。
最初の方法は、最も単純な正規表現を使用することです。^(.+)@(.+)$
パターンは、電子メールの@
記号をチェックする最も単純な式です。この方法では、シンボルの前後の文字は関係ありません。それは単にその電子メールに偽を与えるでしょう。
以下のコードは、上記の方法を示しています。
import java.util.*;
import java.util.regex.*;
public class Email_Validation {
public static void main(String args[]) {
ArrayList<String> email = new ArrayList<String>();
email.add("example@domain.com");
// Adding an invalid emails in list
email.add("@helloworld.com");
// Regular Expression
String regx = "^(.+)@(.+)$";
// Compile regular expression to get the pattern
Pattern pattern = Pattern.compile(regx);
// Iterate emails array list
for (String email1 : email) {
// Create instance of matcher
Matcher matcher = pattern.matcher(email1);
System.out.println(email1 + " : " + matcher.matches() + "\n");
}
}
}
出力:
example@domain.com : true
@helloworld.com : false
上記の例では、有効な電子メールと無効な電子メールを含む電子メールのリストを作成しました。matcher
クラスを使用して、特定の電子メールがパターンに一致するかどうかをチェックするメソッドを作成します。
2 番目のパターンは、ユーザー名の部分メソッドに制限を追加するために使用されます。ここで、[A-Za-z0-9+_.-]+@(.+)$
は、電子メールの検証に使用される正規表現です。電子メールのユーザー名部分をチェックし、それに応じて電子メールを検証します。この方法にはいくつかの規則があります。ユーザー名には、A〜Z 文字、a〜z 文字、0〜9 の数字、ドット(.
)、アンダースコア(_
)を含めることができます。上記以外の文字を含むユーザー名は検証されません。
例えば、
import java.util.*;
import java.util.regex.*;
public class Email_Validation {
public static void main(String args[]) {
ArrayList<String> email = new ArrayList<String>();
email.add("example@domain.com");
email.add("example2@domain.com");
// Adding an invalid emails in list
email.add("@helloworld.com");
email.add("12Bye#domain.com");
// Regular Expression
String regx = "^[A-Za-z0-9+_.-]+@(.+)$";
// Compile regular expression to get the pattern
Pattern pattern = Pattern.compile(regx);
// Iterate emails array list
for (String email1 : email) {
// Create instance of matcher
Matcher matcher = pattern.matcher(email1);
System.out.println(email1 + " : " + matcher.matches() + "\n");
}
}
}
出力:
example@domain.com : true
example2@domain.com : true
@helloworld.com : false
12Bye#domain.com : false
電子メール検証の 3 番目のパターンは、RFC5322 メソッドで許可されています。^[a-zA-Z0-9_!#$%&'\*+/=?{|}~^.-]+@[a-zA-Z0-9.-]+$
は正規表現です電子メールの検証に使用される式。RFC によって電子メール形式で許可されているすべての文字が使用されます。
例えば、
import java.util.*;
import java.util.regex.*;
public class Email_Validation {
public static void main(String args[]) {
ArrayList<String> email = new ArrayList<String>();
email.add("example@domain.com");
email.add("exampletwo@domain.com");
email.add("12@domain.com");
// Adding an invalid emails in list
email.add("@helloworld.com");
// Regular Expression
String regx = "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]+@[a-zA-Z0-9.-]+$";
// Compile regular expression to get the pattern
Pattern pattern = Pattern.compile(regx);
// Iterate emails array list
for (String email1 : email) {
// Create instance of matcher
Matcher matcher = pattern.matcher(email1);
System.out.println(email1 + " : " + matcher.matches() + "\n");
}
}
}
出力:
example@domain.com : true
exampletwo@domain.com : true
12@domain.com : true
@helloworld.com : false