Java11 正規表現によるメールアドレスチェックを実装するサンプル
環境
Java SE 11
Eclipse 4.26.0
構文
メールアドレスの正規表現式
^[\\w!#%&'/=~`\\*\\+\\?\\{\\}\\^\\$\\-\\|]+(\\.[\\w!#%&'/=~`\\*\\+\\?\\{\\}\\^\\$\\-\\|]+)*@[\\w!#%&'/=~`\\*\\+\\?\\{\\}\\^\\$\\-\\|]+(\\.[\\w!#%&'/=~`\\*\\+\\?\\{\\}\\^\\$\\-\\|]+)*$
書式
Pattern pattern = Pattern.compile(“正規表現式");
result = pattern.matcher(文字列).matches();
Patternクラスを使ってメールアドレスチェックを行います。
使用例
package com.arkgame.study; import java.util.regex.Pattern; public class AppDemo { public static void main(String[] args) { System.out.println("test@example.comのチェック結果: " + isMailAddr("test@example.com")); System.out.println("test.123@example.comのチェック結果: " + isMailAddr("test.123@example.com")); System.out.println("testabcのチェック結果: " + isMailAddr("testabc")); System.out.println("test.@example.comのチェック結果: " + isMailAddr("test.@example.com")); } /** * メールアドレスのチェック * * @param val * @return メールアドレス true メールアドレスではない false */ public static boolean isMailAddr(String val) { boolean result = false; if (val != null) { //正規表現式のチェック Pattern pattern = Pattern.compile( "^[\\w!#%&'/=~`\\*\\+\\?\\{\\}\\^\\$\\-\\|]+(\\.[\\w!#%&'/=~`\\*\\+\\?\\{\\}\\^\\$\\-\\|]+)*@[\\w!#%&'/=~`\\*\\+\\?\\{\\}\\^\\$\\-\\|]+(\\.[\\w!#%&'/=~`\\*\\+\\?\\{\\}\\^\\$\\-\\|]+)*$"); result = pattern.matcher(val).matches(); } return result; } }
実行結果
test@example.comのチェック結果: true
test.123@example.comのチェック結果: true
testabcのチェック結果: false
test.@example.comのチェック結果: false