通用邮箱正则表达式

找了一些门户网站的邮箱格式:

新浪:4-16个字符,可使用英文小写、数字、下划线,下划线不能在首尾。

搜狐:4-16位,数字、小写字母、点、减号或下划线,小写字母开头。

腾讯:由3-18个英文、数字、点、减号、下划线组成。
网易:6~18个字符,可使用字母、数字、下划线,需以字母开头。
谷歌:您可以使用字母、数字和英文句点,请勿使用除字母 (a-z)、数字和英文句号外的其他字符。
央视:6~20个字符,包括英文字母(小写)数字-_,首尾字符须为字母或数字,且邮箱名不能为纯数字。

TOM: 6-18个字符,仅支持字母、数字及“.”、”-”、”_”,不能全部数字或下划线。


得出通用的邮箱标准: 长度不限,可以使用英文(包括大小写)、数字、点号、下划线、减号,首字母必须是字母或数字;

比如有以下邮箱格式:

xxxyyy@zzz.com.cn; 其中"x"可以是纯数字,也可以是纯字母,也可以是数字与字母的组合;
"y"可以是纯数字,可以是纯字母,也可以是数字、字母和指定字符的组合;
"z"可以是纯数字,可以是纯字母,也可以是数字、字母和指定字符"-"的组合, 但不能以字符"-"开头和结尾;
最后的.com和.cn是可以互换位置的,然后也可以只有.com没有.cn或只有.cn没有.com

得出通用的邮箱标准java正则表达式:
email.matches("^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-z]{2,}$")

得出通用的邮箱校验方法:
/**
* 检查邮箱是否合法
*/
private static Boolean checkEmail(String email) {
if (email.matches("^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-z]{2,}$")) {
return true;
} else {
return false;
}

}

相关文章

jquery.validate使用攻略(表单校验) 目录 jquery.validate...
/\s+/g和/\s/g的区别 正则表达式/\s+/g...
自整理几个jquery.Validate验证正则: 1. 只能输入数字和字母...
this.optional(element)的用法 this.optional(element)是jqu...
jQuery.validate 表单动态验证 实际上jQuery.validate提供了...
自定义验证之这能输入数字(包括小数 负数 ) <script ...