利用正则表达式来判断邮箱格式是否合法
具体解析可以看代码注释部分。
public class CheckMailUtil {
public static boolean checkMail(String email){
//邮箱的基本格式为“名称@域名”
//名称部分只允许英文字母、数字、下划线、英文句号、中划线和汉字组成
//字母和数字表示为A-Za-z0-9
//汉字表示为[\u4e00-\u9fa5]
//域名部分:一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名类似“** .** .**.**”组成。
//“**”部分可以表示为[a-zA-Z0-9_-]+
//“.**”部分可以表示为\.[a-zA-Z0-9_-]+
//多个“.**”可以表示为(\.[a-zA-Z0-9_-]+)+
//综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+
String format="^[A-Za-z0-9_-\\u4e00-\\u9fa5]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
if(email.matches(format)){
return true;
}else{
return false;
}
}
}