package com.ykmimi.testtest;
/**
* 測試郵箱地址是否合規
* @author ukyor
*
*/
public class EmailTest {
public static void main(String[] args) {
//定義要匹配的Email地址的正則表達式
//其中\w代表可用作標識符的字符,不包括$. \w+表示多個
// \\.\\w表示點.后面有\w 括號{2,3}代表這個\w有2至3個
//牽扯到有些郵箱類似com.cn結尾 所以(\\.\\w{2,3})*后面表示可能有另一個2至3位的域名結尾
//*表示重復0次或更多次
String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
//聲明用於判斷的郵箱
String em1 = "aas@.cn";
String em2 = "deadzq@!qq.com";
String em3 = "de@qqcom";
String em4 = "ed123.com";
String em5 = "deadzq@qwq.com";
String em6 = "ukyo@qq.com";
String em7 = "helloworld@123.com";
String em8 = "goldhair@12333.com.cn";
//em9雖然可能沒有這樣的域名結尾 但符合(\\.\\w{2,3})*\\.\\w{2,3}條件
//更精准的表達式應該把現有國際上域名聲明為一個數組 再加以判斷
String em9 = "loveinc@ukyo.dd.sss";
//把域名裝入域名數組
String[] emailArray = {em1,em2,em3,em4,em5,em6,em7,em8,em9};
//循環判斷郵箱是否合規 foreach循環
for(String e : emailArray)
{
//如果其中郵箱元素復合正則表達式 regex 則:
if(e.matches(regex))
{
//輸出該郵箱元素 為合規
System.out.println(e+"為合規郵箱輸入.");
}
}
}
}
正則表達式元字符