java 验证是否为正确的邮箱格式
2017-03-27 14:17
351 查看
public class TestOne{
public static void main(String[] args){
TestOne t = new TestOne();
String email = "73085044@qq.com.cn" ;
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)||!containsOneOrTwoWord('.',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(subfix);
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()> 9 ||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;
}
//判断字符串只包含指定的一个字符c
private boolean containsOneOrTwoWord(char c , String word){
char[] array = word.toCharArray();
int count = 0 ;
for(Character ch : array){
if(c == ch) {
count++;
}
}
if (count == 1 || count ==2) {
return true;
}
return false ;
}
//检查一个字符串是否全部是字母
// 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 ;
}
}
public static void main(String[] args){
TestOne t = new TestOne();
String email = "73085044@qq.com.cn" ;
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)||!containsOneOrTwoWord('.',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(subfix);
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()> 9 ||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;
}
//判断字符串只包含指定的一个字符c
private boolean containsOneOrTwoWord(char c , String word){
char[] array = word.toCharArray();
int count = 0 ;
for(Character ch : array){
if(c == ch) {
count++;
}
}
if (count == 1 || count ==2) {
return true;
}
return false ;
}
//检查一个字符串是否全部是字母
// 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 ;
}
}
相关文章推荐
- Android 正则表达式验证手机和邮箱格式是否正确
- Android 正则表达式验证手机和邮箱格式是否正确(转)
- ios菜鸟之路:用户注册 验证邮箱格式是否正确
- java 判断电话号码,邮箱格式是否正确
- java 验证邮箱格式正确性、验证字符串是否为数字
- jquery验证手机号码、邮箱格式是否正确示例代码
- lua 验证邮箱格式是否正确
- js验证邮箱是否输入以及格式是否正确
- jquery验证手机号码、邮箱格式是否正确示例代码
- java 验证邮箱格式正确性、验证字符串是否为数字
- jquery验证邮箱格式是否正确实例讲解
- java 验证邮箱格式正确性、验证字符串是否为数字
- 用户输入验证邮箱,通过javascript代码验证邮箱格式是否正确 //邮箱验证
- JS验证邮箱格式是否正确的代码
- java验证手机号格式是否正确
- java中String类常用方法I(判断 Java 文件名是否正确,判断邮箱格式是否正确)
- js验证电子邮箱格式是否正确的代码
- Android 正则表达式验证手机和邮箱格式是否正确
- jquery验证手机号码、邮箱格式是否正确示例代码
- Android 使用正则表达式验证邮箱格式是否正确