zoukankan      html  css  js  c++  java
  • 用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 ;
     }
    }
    

      

  • 相关阅读:
    git push 出现 you are not allowed to upload merges 错误提示
    构建React-app应用时create-react-app卡住超慢的解决办法<转>
    防抖与节流函数<转>
    this全面解析<转>
    正确的安装和使用nvm(mac)<转>
    TypeScript如何添加自定义d.ts文件(转)
    为什么angular library的build不能将assets静态资源打包进去(转)
    Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
    linux命令新建文件
    mac系统终端sudo免输入密码技能get
  • 原文地址:https://www.cnblogs.com/caozengling/p/5295300.html
Copyright © 2011-2022 走看看