论坛首页 Java企业应用论坛

演示用一维数组来实现电子邮件,数字,字母的校验

浏览 2127 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (9) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-03-14  
   //初始化数组变量
       String[] sMail = {"@","."};
	   char[] cNum = {'1','2','3','4','5','6','7','8','9','0'};
	   char[] cStr = {'a','b','c','d','e','f','g','h','r',
	                  'i','j','k','l','m','n','o','p','q',
	                  's','t','u','v','w','x','y','z'};
	   /**
	    * 校验电子邮件
	    */   
	   public boolean isMail(String sPara){
	      	for(int i=0;i<sMail.length;i++){
	      	  if(sPara.indexOf(sMail[i])==-1)
	      	    return false;   	  
	      	}
	      	return true;
	    }
	   
	 /**
	  * 判断是否是数字
	  */   
      public boolean isNumber(String sPara){
      	 int iPLength = sPara.length();
      	 for(int i=0;i<iPLength;i++){
      	  char cTemp = sPara.charAt(i);
      	  boolean bTemp = false;
      	  for(int j=0;j<cNum.length;j++){
      	    if(cTemp==cNum[j]){
      	      bTemp = true;
      	      break;
      	    }
      	  }
      	  if(!bTemp) return false; 
      	 }
       return true;
      }
	      
	 /**
	  *  方法说明:判断是否都是英文字符
	  */   
      public boolean isString(String sPara){
      	 int iPLength = sPara.length();
      	 for(int i=0;i<iPLength;i++){
      	  char cTemp = sPara.charAt(i);
      	  boolean bTemp = false;
      	  for(int j=0;j<cStr.length;j++){
      	    if(cTemp==cStr[j]){
      	      bTemp = true;
      	      break;
      	    }
      	  }
      	  if(!bTemp) return false; 
      	 }
       return true;
      }
   发表时间:2011-03-15  
楼主的想法还是很不错的,这种设计思想可以用在很多进行扩展配置验证的地方(所谓扩展配置,就是类似于黑名单白名单的设置,当然直接借助于map来实现会更好。)

不过我觉得做这种事情还是正则来的好,或者是直接使用比较0-9和a-z,我记得英文字符是可以直接通过acii码的大小进行比较的。
0 请登录后投票
   发表时间:2011-03-15  
这样验证Email的判断是不是过于简单了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics