实现原理,实际上就是输入一个字符串,之后通过正则表达式验证此字符串是否符合邮箱的格式规范,通过以下工具类即可:
在淳安等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站制作 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站制作,网络营销推广,外贸营销网站建设,淳安网站建设费用合理。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegisterCheck {
/**
* 验证输入的邮箱格式是否符合
* @param email
* @return 是否合法
*/
public static boolean emailFormat(String email)
{
boolean tag = true;
final String pattern1 = "^([a-z0-9A-Z]+[-|//.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?//.)+[a-zA-Z]{2,}$";
final Pattern pattern = Pattern.compile(pattern1);
final Matcher mat = pattern.matcher(email);
if (!mat.find()) {
tag = false;
}
return tag;
}
}
for(int i=1;i=a.length();i++)
{
d=a.substring(i-1,i);
if(d.equals("@."))
{
return false;
}
}
这个循环判定完是有@.返回false不对的,用判定"@."是否存在好一些
if(!a.contains("@."))
{
return false;
}
//一般用于帐号(Email)
validator.entity.setRuleEmail("^(\\w|\\.|-|\\+)+@(\\w|-)+(\\.(\\w|-)+)+$");
贴上完整的邮箱验证代码:
/**
* 验证email规则
*
* @param email
* @return
*/
publicbooleanvalidateEmail(String email)
{
return TextUtils.isEmpty(email)? false
:email.matches(entity.ruleEmail);
}
import org.apache.log4j.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo {
public static void main(String[] args) {
if(Resource.isEmail("1212@ss.cn")){
System.out.println("1212@ss.cn这个邮箱是合法的!");
}else{
System.out.println("1212@ss.cn这个邮箱是非法的!");
}
}
}
class Resource {
private static final Logger logger = Logger.getLogger(Resource.class);
public static boolean isEmail(String email){
String str="^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[\\.][A-Za-z]{2,3}([\\.][A-Za-z]{2})?$";
Pattern p = Pattern.compile(str);
Matcher m = p.matcher(email);
logger.info(m.matches()+"---");
return m.matches();
}
}
这里要用到一个jar包,我用的是log4j-1.2.17.jar
邮箱验证的实现,不过是用正则表达式子实现的,能够满足你上面提出的7条要求 String email = "dfbv423@163.com"; Pattern pattern = Pattern .compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); Matcher matcher = pattern.matcher(email); if (true == matcher.matches()) { if (email.indexOf("@163.com") 0) System.out.println("是网易邮箱"); else System.out.println("不是网易邮箱"); } else System.out.println("根本就不是邮箱"); }