java邮箱格式校验

java邮箱格式校验_第1张图片 Cooking Regex微信公众号
正则表达式学习

 

一、测试文件

@gmail.com 
@yahoo.com 
@msn.com 
@hotmail.com 
@aol.com 
@ask.com 
@live.com 
@qq.com 
@0355.net 
@163.com 
@163.net 
@263.net 
@3721.net 
@yeah.net 
@googlemail.com 
@mail.com 
国外常用邮箱: 
@hotmail.com 
@msn.com 
@yahoo.com 
@gmail.com 
@aim.com 
@aol.com 
@mail.com 
@walla.com 
@inbox.com 
国内常见邮箱: 
@126.com 
@163.com 
@sina.com 
@21cn.com 
@sohu.com 
@yahoo.com.cn 
@tom.com 
@qq.com 
@etang.com 
@eyou.com 
@56.com 
@x.cn 
@chinaren.com 
@sogou.com 
@citiz.com 
国家或地区常用邮箱后缀: 
中国香港:
@hongkong.com 
@ctimail.com 
@hknet.com 
@netvigator.com 
@mail.hk.com 
@swe.com.hk 
@ITCCOLP.COM.HK 
@BIZNETVIGATOR.COM 
中国台湾:
@SEED.NET.TW 
@TOPMARKEPLG.COM.TW 
@PCHOME.COM.TW 
@***.hinet.net 
巴基斯坦:
@cyber.net.pk 
阿曼:
omantel.net.om 
意大利:
@libero.it 
南非:
@webmail.co.za 
新西兰:
@xtra.co.nz 
新加坡:
@pacific.net.sg 
@FASTMAIL.FM 
阿联酋:
@emirates.net.ae 
@eim.ae 
叙利亚:
@net.sy 
@scs-net.org 
@mail.sy 
土耳其:
@ttnet.net.tr 
@superonline.com 
也门:
@yemen.net.ye 
@y.net.ye 
塞浦路斯:
@cytanet.com.cy 
美国:
@aol.com 
@netzero.net 
@twcny.rr.com 
@comcast.net 
@warwick.net 
@comcast.net 
@cs.com 
@verizon.net 
澳大利亚:
@bigpond.com 
希腊:
@otenet.gr 
巴基斯坦 : 
@cyber.net.pk 
印度:
@vsnl.com 
@wilnetonline.net 
@cal3.vsnl.net.in 
@rediffmail.com 
@sancharnet.in
@NDF.VSNL.NET.IN 
@DEL3.VSNL.NET.IN 
新西兰 : 
@xtra.co.nz 
俄罗斯:
@yandex.ru 
德国:
@t-online.de ? 
以色列:
@NETVISION.NET.IL 
澳大利亚:
@BIGPOND.NET.AU 
俄罗斯:
@MAIL.RU EV 
泰国:
@ADSL.LOXINFO.COM 
叙利亚:
@SCS-NET.ORG 
阿拉伯联合酋长国:
@EMIRATES.NET.AE 
科威特:
@QUALITYNET.NET 
以色列:
@ZAHAV.NET.IL 
@netvision.net.il 
@xx.org.il 
越南:
@hn.vnn.vn 
@hcm.fpt.vn 
@hcm.vnn.vn 
日本
@candel.co.jp 
赞比亚:
@zamnet.zm 
阿根廷:
@amet.com.ar 
@infovia.com.ar
 马其顿:
@mt.net.mk
 几内亚:
@sotelgui.net.gn
 墨西哥:
@prodigy.net.mx
 孟加拉:
@citechco.net 
意大利:
@xxx.meh.es 
@terra.es
 法国:
@wannado.fr 
@mindspring.com 
@excite.com 
津巴布韦:
@africaonline.co.zw 
@samara.co.zw 
@zol.co.zw 
@mweb.co.zw 
科特迪瓦:
@aviso.ci 
@africaonline.co.ci 
@afnet.net 
纳米比亚:
@mti.gov.na 
@namibnet.com 
@iway.na 
@be-local.com 
尼泊尔:
@infoclub.com.np 
@mos.com.np 
@ntc.net.np 
汤加:
@kalianet.to 
阿塞拜疆:
@mail.ru 
印尼:
@dnet.net.id 
巴西:
@sinos.net 
澳大利亚:
@westnet.com.au 
@gionline.com.au 
@cairns.net.au 
土耳其:
@mynet.com 
马其顿:
@mt.net.mk 
爱尔兰:
@indigo.ie 
@eircom.net 
联合国:
@sbcglobal.net 
@ntlworld.com 
沙特阿拉伯:
@nesma.net.sa 
蒙古:
@mail.mn 
日耳曼:
@tiscali.co.uk 
瑞典:
@caron.se 
南非:
@vodamail.co.za 
奥地利:
@eunet.at 
希腊:
@spark.net.gr 
波兰:
@swiszcz.com 
法国:
@club-internet.fr 
挪威:
@walla.com

[email protected]
 Wallace Keynes Wallace 
[email protected]
Wallace Keynes Wallace 
[email protected]
Wallace Keynes Wallace 
[email protected]
 Wallace Keynes 
Wallace 
[email protected]
 Wallace Keynes Wallace 
[email protected]
 Ludwig Rhys Ludwig 
[email protected]
 Ludwig Rhys Ludwig 
[email protected]
 Ludwig Rhys Ludwig 
[email protected]
 Ludwig Rhys Ludwig 
[email protected]

Invalid Emails
mkyong
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
mkyong()*@gmail.com
mkyong@%*.com
[email protected]
[email protected]
mkyong@[email protected]
[email protected]
 

二、代码

package com.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Pattern;

import org.apache.commons.lang.math.RandomUtils;

public class EmailRegexTest {

	/**
	 * 邮箱
	 */
	private static final String EMAIL_REGEX="^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
	
	public static void main(String[] args) {
		readTxt("E:\\email_test\\email.txt");		
	}
	
	/**
	 * 邮箱格式校验
	 * @param email
	 * @return
	 */
	public static boolean  checkEmail(String email){		
		return Pattern.matches(EMAIL_REGEX, email.trim());
	}
	
	/**
	 * 随机生成邮箱
	 * @param str
	 * @return
	 */
	public static String createEmail(String str ){		
		if(str.contains("@")){
			if(str.startsWith("@")){
				char[] arr={'a','b','c','d','e','f','g','h','i','j','k','l',
							'm','n','o','p','q','r','s','t','u','v','w','x',
							'y','z','0','1','2','3','4','5','6','7','8','9'};
				int headLen=RandomUtils.nextInt(9)+1;
				StringBuilder sb=new StringBuilder();
				for(int i=0;i
 

三、测试结果

validEmail:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
 
invalidEmail:
国外常用邮箱:
国内常见邮箱:
国家或地区常用邮箱后缀:
中国香港:
中国台湾:
tx6i@***.hinet.net
巴基斯坦:
阿曼:
omantel.net.om
意大利:
南非:
新西兰:
新加坡:
阿联酋:
叙利亚:
土耳其:
也门:
塞浦路斯:
美国:
澳大利亚:
希腊:
巴基斯坦 :
印度:
新西兰 :
俄罗斯:
德国:
[email protected] ?
以色列:
澳大利亚:
俄罗斯:
[email protected] EV
泰国:
叙利亚:
阿拉伯联合酋长国:
科威特:
以色列:
越南:
日本
赞比亚:
阿根廷:
马其顿:
几内亚:
墨西哥:
孟加拉:
意大利:
法国:
津巴布韦:
科特迪瓦:
纳米比亚:
尼泊尔:
汤加:
阿塞拜疆:
印尼:
巴西:
澳大利亚:
土耳其:
马其顿:
爱尔兰:
联合国:
沙特阿拉伯:
蒙古:
日耳曼:
瑞典:
南非:
奥地利:
希腊:
波兰:
法国:
挪威:
Wallace Keynes Wallace
Wallace Keynes Wallace
Wallace Keynes Wallace
Wallace Keynes
Wallace
Wallace Keynes Wallace
Ludwig Rhys Ludwig
Ludwig Rhys Ludwig
Ludwig Rhys Ludwig
Ludwig Rhys Ludwig
Invalid Emails
mkyong
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
mkyong()*@gmail.com
mkyong@%*.com
[email protected]
[email protected]
mkyong@[email protected]
[email protected]

四、说明

这个表达式仅供参考,校验的结果还行,但不敢保证100%正确。

你可能感兴趣的:(正则表达式,java)