java 邮箱格式校验

public class Test{
public static void main(String[] args){
Test t = new Test();
String email = "testsina.com" ;
boolean isEmail = t.isEmail(email);
if(isEmail){
System.out.println(email +" is a right email!!!");
}else{
System.out.println("error");
}
}
public boolean isEmail(String email){
//正则表达式
/*
String regex = "^[A-Za-z]{1,40}@[A-Za-z0-9]{1,40}\\.[A-Za-z]{2,3}$";
return email.matches(regex);
*/

//不适用正则
if(email==null||"".equals(email)) return false ;
if(!containsOneWord(@,email)||!containsOneWord(.,email)) return false;
String prefix = email.substring(0,email.indexOf("@"));
String middle = email.substring(email.indexOf("@")+1,email.indexOf("."));
String subfix = email.substring(email.indexOf(".")+1);
System.out.println("prefix="+prefix +" middle="+middle+" subfix="+subfix);

if(prefix==null||prefix.length()>40||prefix.length()==0) return false ;
if(!isAllWords(prefix)) return false ;
if(middle==null||middle.length()>40||middle.length()==0) return false ;
if(!isAllWordsAndNo(middle)) return false ;
if(subfix==null||subfix.length()>3||subfix.length()<2) return false ;
if(!isAllWords(subfix)) return false ;
return true ;
}
//判断字符串只指定的一个字符c
private boolean containsOneWord(char c , String word){
char[] array = word.toCharArray();
int count = 0 ;
for(Character ch : array){
if(c == ch) {
count++;
}
}
return count==1 ;
}
//检查一个字符串是否全部是字母
private boolean isAllWords(String prefix){
char[] array = prefix.toCharArray();
for(Character ch : array){
if(ch<A || ch>z || (ch<a && ch>Z)) return false ;
}
return true;
}
//检查一个字符串是否包含字母和数字
private boolean isAllWordsAndNo(String middle){
char[] array = middle.toCharArray();
for(Character ch : array){
if(ch<0 || ch > z) return false ;
else if(ch >9 && ch <A) return false ;
else if(ch >Z && ch <a) return false ;
}
return true ;
}
}邮箱验证的实不过是用正则表达式子实现的,满足你上面提出的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("根本就不是邮箱");
}
孕妇严重便秘怎么办 痦子怎么去除 韧带损伤 酒后胃难受怎么办 除痘印 失眠吃什么好 戒烟症状 忧郁症怎么治疗 眼睛干痒 蝴蝶斑最佳治疗方法 win7打印机共享怎么设置 团队合作的重要性 cf怎么加战队 qq三国符号大全 怎么用u盘安装系统 诛仙烈山加点 斗战神血牛 绿茶减肥吗 神将世界怎么快速升级 宠物兔吃什么 真实单号 腾讯微博怎么开通 免费制作空间 希腊数字 论文研究方法 成都虹口漂流 泰国恐怖片排行榜 联欢会互动游戏 java.lang.nullpointerexception 徐派

Copyright 知者界 Some Rights Reserved

如反馈或投诉等情况联系:une35498#163.com