• Java代码使用正则验证和常用工具方法


    1.正则验证邮箱

      public static boolean checkEmail(String email){  
         boolean flag = false;  
         try{  
            String check = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";
          Pattern regex = Pattern.compile(check);  
          Matcher matcher = regex.matcher(email);  
          flag = matcher.matches();  
         }catch(Exception e){  
          flag = false;  
         }  
         return flag;  
        }  
    

    2.验证昵称是否合法

       /** 
         * 验证用户名,支持中英文(包括全角字符)、数字、下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数 
         * @return 
         */  
        public static boolean validateUserName(String userName) {  
        	
            String validateStr = "^[\w\--_[0-9]u4e00-u9fa5uFF21-uFF3AuFF41-uFF5A]+$";  
            boolean rs = false;  
            rs = matcher(validateStr, userName);  
            if (rs) {  
                int strLenth = getStrLength(userName);  
                if (strLenth < 4 || strLenth > 15) {  
                    rs = false;  
                }  
            }  
            return rs;  
        }  
      
        /** 
         * 获取字符串的长度,对双字符(包括汉字)按两位计数 
         * @return 
         */  
        public static int getStrLength(String value) {  
            int valueLength = 0;  
            String chinese = "[u0391-uFFE5]";  
            for (int i = 0; i < value.length(); i++) {  
                String temp = value.substring(i, i + 1);  
                if (temp.matches(chinese)) {  
                    valueLength += 2;  
                } else {  
                    valueLength += 1;  
                }  
            }  
            return valueLength;  
        }  
      
        private static boolean matcher(String reg, String string) {  
            boolean tem = false;  
            Pattern pattern = Pattern.compile(reg);  
            Matcher matcher = pattern.matcher(string);  
            tem = matcher.matches();  
            return tem;  
        }  
    

    3.判断是否是数字

       public static  boolean isInteger(String value) {  
    	    	 Pattern p = Pattern.compile("^[0-9]{11}$");
    	    	 Matcher m = p.matcher(value);
    	    	 boolean isOK = m.find();
    	    	 return isOK;
    	 }
    

    4.创建随机数

     public static int buildRandom(int length) {
    	int num = 1;
    	double random = Math.random();
    	if (random < 0.1) {
    		random = random + 0.1;
    	}
    	for (int i = 0; i < length; i++) {
    		num = num * 10;
    	}
    	return (int) ((random * num));
    	}
    

    5.获取机型,浏览器类型

     	 public static  String getTypeas(HttpServletRequest request) {  
    		 String typeas= request.getHeader("User-Agent"); 
    			if (typeas.equals("")||typeas==null) {
    				typeas="nothing";
    			}
    			return typeas;
    	 }
    

    5.获取IP地址

     	 public static  String getIp(HttpServletRequest request) {  
    		 String ip = request.getHeader("x-forwarded-for");
    	        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    	            ip = request.getHeader("Proxy-Client-IP");
    	        }
    	        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    	            ip = request.getHeader("WL-Proxy-Client-IP");
    	        }
    	        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    	            ip = request.getRemoteAddr();
    	        }
    	        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    				ip="unknown";
    			}
    	        return ip;
    	 }
    

    6.判断数字是否在数组内

     	public static boolean isIn(Integer substring, Integer[] source) {
    		if (source == null || source.length == 0) {
    			return false;
    		}
    		for (int i = 0; i < source.length; i++) {
    			Integer aSource = source[i];
    			if (aSource.equals(substring)) {
    				return true;
    			}
    		}
    		return false;
    	}
    
  • 相关阅读:
    【炼数成金 RapidMiner 一 】数据挖掘概念与技术原书第三版(第一章)1.9节的习题解
    【炼数成金 NOSQL引航 一 】 进入NoSQL世界;NoSQL与SQL的战争
    实现学校信息增删改查-第一节添加学校名称
    关键字高亮显示,js轻松实现
    NPOI导出Excel .net
    wpf image控件循环显示图片 以达到动画效果 问题及解决方案
    NuGet的简单科普
    日志收集系统
    一些实用的方法,持续更新...
    图片质量压缩
  • 原文地址:https://www.cnblogs.com/jimmy-muyuan/p/5492689.html
Copyright © 2020-2023  润新知