用JAVA代碼實現驗證郵箱地址是否符合


public class Test{
 public static void main(String[] args){
  Test  t = new Test();
  String email = "test@sina.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 ;
 }
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM