JAva検証ツールクラス

13471 ワード

/**
     * 
     * 
     * @param obj
     *                   
     * @return      null      true
     */
    public static boolean isNullOrEmpty(Object obj) {
        if (obj == null
                || "".equals(StringUtil.toString(obj).trim())) {
            return true;
        }
        return false;
    }

    /**
     *        
     * 
     * @param obj
     *                   
     * @return      
     */
    public static boolean isNumber(Object obj) {

        return checkPattern(StringUtil.toString(obj).trim(),
                "^[-+]?[0-9]+(\\.[0-9]+)?$");
    }

    /**
     *        
     * 
     * @param obj
     *                   
     * @return      
     */
    public static boolean isPositiveNumber(Object obj) {

        return checkPattern(StringUtil.toString(obj).trim(),
                "^[0-9]+(\\.[0-9]+)?$");
    }

    /**
     *      Double  
     * 
     * @param obj
     *                   
     * @return    Double  (    2   )
     */
    public static boolean isDouble(Object obj) {
        return checkPattern(StringUtil.toString(obj).trim(),
                "^[0-9]+(.[0-9]{1,2})?$");
    }

    /**
     *      int  
     * 
     * @param obj
     *                   
     * @return
     */
    public static boolean isInt(Object obj) {
        return checkPattern(StringUtil.toString(obj).trim(), "^[0-9]?$");
    }

    /**
     *            null
     * 
     * @param con
     *              
     * @return       null
     */
    public static boolean checkCollectionIsNullOrEmpty(
            @SuppressWarnings("rawtypes") Collection con) {
        return con == null || con.size() == 0;
    }

    /**
     *            
     * 
     * @param str
     *                    
     * @param pattern
     *              
     * @return     
     */
    public static boolean checkPattern(String str, String pattern) {
        try {
            if (pattern.startsWith("/")) {
                pattern = pattern.substring(1);
            }
            if (pattern.endsWith("/")) {
                pattern = pattern.substring(0, pattern.length() - 1);
            }
            return str.matches(pattern);
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    /**
     *              
     * 
     * @param str
     *               
     * @return     
     */
    public static boolean checkPhone(String str) {
        //     
        String phone = "(13\\d|14[57]|15[^4,\\D]|17[678]|18\\d)\\d{8}|170[059]\\d{7}";
        return str.matches(phone);
    }

    /**
     * 
     * 
     * @param str
     *              
     * @return     
     */
    public static boolean checkCharacters(String str) {
        //     
        String chineseCharacters = "[\u4e00-\u9fa5]+";
        return str.matches(chineseCharacters);
    }

    /**
     * 
     * 
     * @param emailStr
     *                      
     */
    public static boolean checkEmail(String emailStr) {
        //     
        String emailRegStr = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
        return emailStr.matches(emailRegStr);
    }

    /**
     * 
     * 
     * 
     * @param dateStr
     *                      
     * @return
     */
    public static boolean checkDate(String dateStr) {
        if (null == dateStr || "".equals(dateStr)) {
            return false;
        }
        boolean flag = false;
        Pattern pattern0 = null;
        Matcher match0 = null;
        String datePattern = "("
                +
                //              31 。
                "(^\\d{3}[1-9]|\\d{2}[1-9]\\d{1}|\\d{1}[1-9]\\d{2}|[1-9]\\d{3}"
                + //  
                "([-/\\._]?)"
                + //      (-,/,.,_)
                "(10|12|0?[13578])"
                + //   
                "([-/\\._]?)"
                + //      (-,/,.,_)
                "((3[01]|[12][0-9]|0?[1-9])?)"
                + //  (31)         0/1 
                "([\\s]?)"
                + //   
                "((([0-1]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9]))?))$"
                + //    
                "|"
                + //  
                    //              30 ,   2 。
                "(^\\d{3}[1-9]|\\d{2}[1-9]\\d{1}|\\d{1}[1-9]\\d{2}|[1-9]\\d{3}"
                + //  
                "([-/\\._]?)"
                + //      (-,/,.,_)
                "(11|0?[469])"
                + //     2 
                "([-/\\._]?)"
                + //      (-,/,.,_)
                "(30|[12][0-9]|0?[1-9])"
                + //  (30)
                "([\\s]?)"
                + //   
                "((([0-1]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9]))?))$"
                + //    
                "|"
                + //  
                    //            2 28  。
                "(^\\d{3}[1-9]|\\d{2}[1-9]\\d{1}|\\d{1}[1-9]\\d{2}|[1-9]\\d{3}"
                + //  
                "([-/\\._]?)"
                + //      (-,/,.,_)
                "(0?2)"
                + //   2 
                "([-/\\._]?)"
                + //      (-,/,.,_)
                "(2[0-8]|1[0-9]|0?[1-9])"
                + //  (28)
                "([\\s]?)"
                + //   
                "((([0-1]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9]))?))$"
                + //    
                "|"
                + //  
                    //            2 29  。
                    //    4      100     。
                    //    400        100  ,      00,           4    。
                "(^((\\d{2})(0[48]|[2468][048]|[13579][26]))|((0[48]|[2468][048]|[13579][26])00)"
                + "([-/\\._]?)" + "(0?2)" + "([-/\\._]?)" + "(29)" + "([\\s]?)"
                + "((([0-1]?\\d|2[0-3]):([0-5]?\\d):([0-5]?\\d))?))$" + //    
                ")";
        ;

        pattern0 = Pattern.compile(datePattern);
        match0 = pattern0.matcher(dateStr);
        flag = match0.matches();
        return flag;
    }

    /**
     * 
     * 
     * 
     * @param idCardStr
     *                          
     * @return
     */
    public static boolean checkIdCard(String idCardStr) {
        //        
        String idCardReg = "(^\\d{18}$)|(^\\d{15}$)";
        return idCardStr.matches(idCardReg);
    }